Module: TogglEntriesParameter
- Included in:
- TogglParameter
- Defined in:
- lib/simple_slack/toggls/toggl_entries_parameter.rb
Instance Method Summary collapse
- #day_entries(day = Time.now.to_date) ⇒ Object
- #entries ⇒ Object
- #entry_info(entry = latest_entry) ⇒ Object
- #entry_info_hash(entry = latest_entry) ⇒ Object
- #latest_entry ⇒ Object
- #working_entry ⇒ Object
Instance Method Details
#day_entries(day = Time.now.to_date) ⇒ Object
7 8 9 10 11 12 |
# File 'lib/simple_slack/toggls/toggl_entries_parameter.rb', line 7 def day_entries(day = Time.now.to_date) entries.select do |entry| start_date = Time.parse(entry["start"]).getlocal("+09:00").to_date start_date == day end end |
#entries ⇒ Object
3 4 5 |
# File 'lib/simple_slack/toggls/toggl_entries_parameter.rb', line 3 def entries @entries ||= toggl_client.my_time_entries end |
#entry_info(entry = latest_entry) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/simple_slack/toggls/toggl_entries_parameter.rb', line 24 def entry_info(entry = latest_entry) # 現在作業中(終了時間がない)であれば現在日時を終了時間として取得 stop_time_org = entry["stop"].nil? ? Time.now : Time.parse(entry["stop"]) start_time = Time.parse(entry["start"]).getlocal("+09:00") stop_time = stop_time_org.getlocal("+09:00") diff_time = (stop_time - start_time)/3600 # 0.1h 以下の表示になるようであれば 分表示に変更する if diff_time >= 0.1 work_time = "#{diff_time.round(2)}h" else work_time = "#{(diff_time * 60).round(2)}m" end tag = entry["tags"].join(" ") unless entry["tags"].nil? description = entry["description"] "#{tag} #{description} \(#{work_time}\)" end |
#entry_info_hash(entry = latest_entry) ⇒ Object
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/simple_slack/toggls/toggl_entries_parameter.rb', line 45 def entry_info_hash(entry = latest_entry) # 現在作業中(終了時間がない)であれば現在日時を終了時間として取得 stop_time_org = entry["stop"].nil? ? Time.now : Time.parse(entry["stop"]) start_time = Time.parse(entry["start"]).getlocal("+09:00") stop_time = stop_time_org.getlocal("+09:00") diff_time = (stop_time - start_time)/60 work_time = diff_time.round(2) tag = entry["tags"].join(" ") unless entry["tags"].nil? description = entry["description"] { "#{tag} #{description}" => work_time } end |
#latest_entry ⇒ Object
14 15 16 |
# File 'lib/simple_slack/toggls/toggl_entries_parameter.rb', line 14 def latest_entry entries.sort_by{ |entry| entry["start"] }.last end |
#working_entry ⇒ Object
18 19 20 21 22 |
# File 'lib/simple_slack/toggls/toggl_entries_parameter.rb', line 18 def working_entry if latest_entry["stop"].nil? latest_entry end end |