british_suntimes 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 204af73dc3865471933519436bd143356f61205a797d447e7698fe2cf24663b2
4
- data.tar.gz: f13684cdf11caf2c62925d289c7e063dbd17b29801974c5eba747f8965ae885f
3
+ metadata.gz: e31bfb164e63efe50333e5f978407ccf986cf3a75790381226a0ea58a098677b
4
+ data.tar.gz: 8bc2366559d43a75dda383affaaef0bf5c5f6fe3b58deb85024aaa03bf513204
5
5
  SHA512:
6
- metadata.gz: 65b9a5568132724e10ca50dd9612066911ab537f25b274f9976921343302f9d5fbbd7c4591c6bf34660d7a93f86e905807e1e7a6b9df6011d8480f64cdb7d371
7
- data.tar.gz: 8465687a9bdc7db632547452c7b0535dfe16c36dea5a170a544ecaed459f0e5e74cc2b5f55233b86ef2642266ed87b294b9031ec4afdeca33c4cefd15211a07f
6
+ metadata.gz: aa68395c9d21f404c265b5b05107e781809b92e5b7351fba3fa8fb09792cf47fa4427d069d7d80f1b16d672583db4c13ad7cdfe3fc9a3ef87c547277a4063b9a
7
+ data.tar.gz: 50e928228ed848f69021d58ace156375584d765e4600ccf19242e2278ea04203ff4e851730dabb4be4124e2a3749eab70ef396fb798439090eb797404012a204
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -8,6 +8,9 @@ require 'geocoder'
8
8
  require 'chronic_cron'
9
9
  require 'solareventcalculator'
10
10
 
11
+ require 'subunit'
12
+ require 'human_speakable'
13
+
11
14
 
12
15
 
13
16
  class BritishSuntimes
@@ -18,7 +21,7 @@ class BritishSuntimes
18
21
  def initialize(year=Date.today.year.to_s, location: 'edinburgh',
19
22
  debug: false)
20
23
 
21
- @debug = debug
24
+ @location, @debug = location, debug
22
25
 
23
26
  a = (Date.parse(year + ' Jan')...Date.parse(year.succ + ' Jan')).to_a
24
27
  g = Geocoder.search(location)
@@ -89,6 +92,33 @@ class BritishSuntimes
89
92
 
90
93
  end
91
94
 
95
+ class BritishSuntimesAgent < BritishSuntimes
96
+ using HumanSpeakable
97
+ using Ordinals
98
+
99
+
100
+ def longest_day()
101
+
102
+ d = super()
103
+ days = (Date.parse(d) - Date.today).to_i
104
+ sunrise, sunset = to_dx().to_h[d]
105
+
106
+ t1 = Time.parse(d + ' ' + sunrise)
107
+ t2 = Time.parse(d + ' ' + sunset)
108
+
109
+ su = Subunit.new(units={minutes:60, hours:60}, seconds: (t2 - t1).to_i)
110
+ duration = su.to_s omit: [:seconds]
111
+
112
+ d2 = Date.parse(d)
113
+ day = d2.strftime("#{d2.day.ordinal} %B")
114
+
115
+ s = d2.humanize
116
+ msg = s[0].upcase + s[1..-1] + " (%s), is the longest day of the year when #%s will enjoy %s of sunshine. The sun will rise at %sam and set at %spm." % [day, @location, duration, t1.strftime("%-I:%M"), t2.strftime("%-I:%M")]
117
+
118
+ end
119
+
120
+ end
121
+
92
122
 
93
123
  if __FILE__ == $0 then
94
124
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: british_suntimes
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -117,6 +117,46 @@ dependencies:
117
117
  - - ">="
118
118
  - !ruby/object:Gem::Version
119
119
  version: 0.3.3
120
+ - !ruby/object:Gem::Dependency
121
+ name: subunit
122
+ requirement: !ruby/object:Gem::Requirement
123
+ requirements:
124
+ - - ">="
125
+ - !ruby/object:Gem::Version
126
+ version: 0.5.0
127
+ - - "~>"
128
+ - !ruby/object:Gem::Version
129
+ version: '0.5'
130
+ type: :runtime
131
+ prerelease: false
132
+ version_requirements: !ruby/object:Gem::Requirement
133
+ requirements:
134
+ - - ">="
135
+ - !ruby/object:Gem::Version
136
+ version: 0.5.0
137
+ - - "~>"
138
+ - !ruby/object:Gem::Version
139
+ version: '0.5'
140
+ - !ruby/object:Gem::Dependency
141
+ name: human_speakable
142
+ requirement: !ruby/object:Gem::Requirement
143
+ requirements:
144
+ - - ">="
145
+ - !ruby/object:Gem::Version
146
+ version: 0.2.0
147
+ - - "~>"
148
+ - !ruby/object:Gem::Version
149
+ version: '0.2'
150
+ type: :runtime
151
+ prerelease: false
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ requirements:
154
+ - - ">="
155
+ - !ruby/object:Gem::Version
156
+ version: 0.2.0
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: '0.2'
120
160
  description:
121
161
  email: james@jamesrobertson.eu
122
162
  executables: []
metadata.gz.sig CHANGED
Binary file