Class: TimetrapHarvest::Config
- Inherits:
-
Object
- Object
- TimetrapHarvest::Config
- Defined in:
- lib/timetrap_harvest/config.rb
Constant Summary collapse
- MissingHarvestConfig =
Class.new(StandardError)
- MissingHarvestAliases =
Class.new(StandardError)
- MissingHarvestSubdomain =
Class.new(StandardError)
- DEFAULT_ROUND_IN_MINUTES =
15
Instance Attribute Summary collapse
-
#timetrap_config ⇒ Object
readonly
Returns the value of attribute timetrap_config.
Instance Method Summary collapse
- #alias_config(code) ⇒ Object
- #aliases ⇒ Object
- #config ⇒ Object
- #email ⇒ Object
- #ensure_aliases! ⇒ Object
- #ensure_config! ⇒ Object
- #ensure_subdomain! ⇒ Object
-
#initialize(timetrap_config = Timetrap::Config) ⇒ Config
constructor
A new instance of Config.
- #password ⇒ Object
- #round_in_minutes ⇒ Object
- #subdomain ⇒ Object
Constructor Details
#initialize(timetrap_config = Timetrap::Config) ⇒ Config
Returns a new instance of Config.
9 10 11 |
# File 'lib/timetrap_harvest/config.rb', line 9 def initialize(timetrap_config = Timetrap::Config) @timetrap_config = timetrap_config end |
Instance Attribute Details
#timetrap_config ⇒ Object (readonly)
Returns the value of attribute timetrap_config.
7 8 9 |
# File 'lib/timetrap_harvest/config.rb', line 7 def timetrap_config @timetrap_config end |
Instance Method Details
#alias_config(code) ⇒ Object
31 32 33 34 35 36 37 |
# File 'lib/timetrap_harvest/config.rb', line 31 def alias_config(code) if config = aliases[code] config = config.split(' ') { project_id: config.first, task_id: config.last } end end |
#aliases ⇒ Object
39 40 41 42 43 |
# File 'lib/timetrap_harvest/config.rb', line 39 def aliases ensure_aliases! config['aliases'] end |
#config ⇒ Object
45 46 47 48 49 |
# File 'lib/timetrap_harvest/config.rb', line 45 def config ensure_config! timetrap_config['harvest'] end |
#email ⇒ Object
13 14 15 |
# File 'lib/timetrap_harvest/config.rb', line 13 def email config['email'] end |
#ensure_aliases! ⇒ Object
55 56 57 |
# File 'lib/timetrap_harvest/config.rb', line 55 def ensure_aliases! fail(MissingHarvestAliases, 'Missing aliases key in .timetrap.yml config file') if config['aliases'].nil? end |
#ensure_config! ⇒ Object
51 52 53 |
# File 'lib/timetrap_harvest/config.rb', line 51 def ensure_config! fail(MissingHarvestConfig, 'Missing harvest key in .timetrap.yml config file') if timetrap_config.nil? || timetrap_config['harvest'].nil? end |
#ensure_subdomain! ⇒ Object
59 60 61 |
# File 'lib/timetrap_harvest/config.rb', line 59 def ensure_subdomain! fail(MissingHarvestSubdomain, 'Missing subdomain key in .timetrap.yml config file') if config['subdomain'].nil? end |
#password ⇒ Object
17 18 19 |
# File 'lib/timetrap_harvest/config.rb', line 17 def password config['password'] end |
#round_in_minutes ⇒ Object
27 28 29 |
# File 'lib/timetrap_harvest/config.rb', line 27 def round_in_minutes config['round_in_minutes'] || DEFAULT_ROUND_IN_MINUTES end |
#subdomain ⇒ Object
21 22 23 24 25 |
# File 'lib/timetrap_harvest/config.rb', line 21 def subdomain ensure_subdomain! config['subdomain'] end |