usno-eclipse-lunar 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +17 -0
- data/.travis.yml +13 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +38 -0
- data/Rakefile +9 -0
- data/lib/usno/eclipse/lunar.rb +17 -0
- data/lib/usno/eclipse/lunar/data.rb +42 -0
- data/lib/usno/eclipse/lunar/eclipses.rb +55 -0
- data/lib/usno/eclipse/lunar/request.rb +34 -0
- data/lib/usno/eclipse/lunar/states.rb +36 -0
- data/lib/usno/eclipse/lunar/us_request.rb +39 -0
- data/lib/usno/eclipse/lunar/version.rb +7 -0
- data/lib/usno/eclipse/lunar/worldwide_request.rb +73 -0
- data/test/test_helper.rb +10 -0
- data/test/unit/usno/eclipse/lunar/sun_test.rb +17 -0
- data/test/unit/usno/eclipse/lunar/us_request_test.rb +33 -0
- data/test/unit/usno/eclipse/lunar/view_test.rb +16 -0
- data/test/unit/usno/eclipse/lunar/worldwide_request_test.rb +34 -0
- data/usno-eclipse-lunar.gemspec +26 -0
- metadata +140 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: d87a23db666946564ee8d9161d56449757b5c2a9
|
4
|
+
data.tar.gz: 1010ce72bf1d691548254590e4ac2fbfaf64e68d
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: eca7da6a963daa81a1e0f50a8d27293b638e93def5868c581656366e30b9b13be34a4feb97ba73d971084804b5e93be00bdc3110ca76e52f62687ce57ab19fb1
|
7
|
+
data.tar.gz: 917ae79a53b748f4c2f97b0436dacc449dd63cfe10551c0493cd17d217a9b239e5ece9a350ca8479585cb8e909e74a4e9a07ca39a64e372998f4c1a96a969f76
|
data/.gitignore
ADDED
data/.travis.yml
ADDED
data/Gemfile
ADDED
data/LICENSE.txt
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2013 Ryan T. Hosford
|
2
|
+
|
3
|
+
MIT License
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,38 @@
|
|
1
|
+
# USNO::Eclipse::Lunar
|
2
|
+
|
3
|
+
TODO: Write a gem description
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
|
7
|
+
Add this line to your application's Gemfile:
|
8
|
+
|
9
|
+
gem 'usno-eclipse-lunar'
|
10
|
+
|
11
|
+
And then execute:
|
12
|
+
|
13
|
+
$ bundle
|
14
|
+
|
15
|
+
Or install it yourself as:
|
16
|
+
|
17
|
+
$ gem install usno-eclipse-lunar
|
18
|
+
|
19
|
+
## Usage
|
20
|
+
|
21
|
+
First, `require usno/eclipse/lunar`
|
22
|
+
|
23
|
+
```ruby
|
24
|
+
# e.g.
|
25
|
+
USNO::Eclipse::Lunar::Data.new(lat: 87, long: 30, date: Time.new(2014, 10, 7)).call.data
|
26
|
+
|
27
|
+
#or
|
28
|
+
|
29
|
+
USNO::Eclipse::Lunar::Data.new(city: "Gulf Shores, state: "Alabama", date: Time.new(2014, 10, 7), request_class: USNO::Eclipse::Lunar::USRequest).call.data
|
30
|
+
```
|
31
|
+
|
32
|
+
## Contributing
|
33
|
+
|
34
|
+
1. Fork it
|
35
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
36
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
37
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
38
|
+
5. Create new Pull Request
|
data/Rakefile
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
require "pay_dirt"
|
2
|
+
|
3
|
+
require_relative "lunar/version"
|
4
|
+
|
5
|
+
require_relative "lunar/request"
|
6
|
+
require_relative "lunar/data"
|
7
|
+
require_relative "lunar/states"
|
8
|
+
require_relative "lunar/eclipses"
|
9
|
+
require_relative "lunar/us_request"
|
10
|
+
require_relative "lunar/worldwide_request"
|
11
|
+
|
12
|
+
module USNO
|
13
|
+
module Eclipse
|
14
|
+
module Eclipse::Lunar
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
module USNO
|
2
|
+
module Eclipse
|
3
|
+
module Lunar
|
4
|
+
class Data < PayDirt::Base
|
5
|
+
def initialize(options = {})
|
6
|
+
options = form_options(options)
|
7
|
+
|
8
|
+
load_options(:date, options) and validate_state
|
9
|
+
end
|
10
|
+
|
11
|
+
def call
|
12
|
+
result true, @request_class.new(@request_options).call.data
|
13
|
+
end
|
14
|
+
|
15
|
+
private
|
16
|
+
def form_options(options)
|
17
|
+
options = {
|
18
|
+
request_class: USNO::Eclipse::Lunar::WorldWideRequest,
|
19
|
+
z_meters: 0, # Default: sea level
|
20
|
+
date: Time.new(2017, 8, 21) # Default: 2017 total eclipse
|
21
|
+
}.merge(options)
|
22
|
+
|
23
|
+
options.merge!({
|
24
|
+
request_options: options.reject do |k,_|
|
25
|
+
k.to_s == "request_class"
|
26
|
+
end
|
27
|
+
})
|
28
|
+
end
|
29
|
+
|
30
|
+
def validate_state
|
31
|
+
@z_meters.between?(-90, 10999) or raise %q{
|
32
|
+
Elevation (z_meters) out of range
|
33
|
+
} # Documented by USNO, but won't fail
|
34
|
+
|
35
|
+
(@city && @state) || (@lat && @long) or raise %q{
|
36
|
+
Location required.
|
37
|
+
}
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
module USNO
|
2
|
+
module Eclipse
|
3
|
+
module Lunar
|
4
|
+
module Eclipses
|
5
|
+
def self.by_key_or_value(kv)
|
6
|
+
hash.has_value? kv and return kv
|
7
|
+
|
8
|
+
hash.fetch(formatted_date(kv)) {
|
9
|
+
raise "No known lunar eclipse at the provided time #{kv} - hint, try USNO::Eclipse::Lunar::Eclipses.all"
|
10
|
+
}.to_s
|
11
|
+
end
|
12
|
+
|
13
|
+
def self.fetch(kv)
|
14
|
+
by_key_or_value(kv)
|
15
|
+
end
|
16
|
+
|
17
|
+
def self.hash
|
18
|
+
{
|
19
|
+
"200929" => 12009, "200977" => 22009, "200985" => 32009,
|
20
|
+
"200986" => 32009, "20091231" => 42009, "2010626" => 12010,
|
21
|
+
"20101221" => 22010, "2011615" => 12011, "20111210" => 22011,
|
22
|
+
"201264" => 12012, "20121128" => 22012, "2013425" => 12013,
|
23
|
+
"2013525" => 22013, "20131018" => 32013, "20131019" => 32013,
|
24
|
+
"2014415" => 12014, "2014108" => 22014
|
25
|
+
}
|
26
|
+
end
|
27
|
+
|
28
|
+
def self.formatted_date(date)
|
29
|
+
date.kind_of?(String) ? date : date.strftime("%Y%-m%-d")
|
30
|
+
end
|
31
|
+
|
32
|
+
# As reminders
|
33
|
+
def self.all
|
34
|
+
%w{
|
35
|
+
2009 February 9 (Penumbral)
|
36
|
+
2009 July 7 (Penumbral)
|
37
|
+
2009 August 5-6 (Penumbral)
|
38
|
+
2009 December 31 (Partial)
|
39
|
+
2010 June 26 (Partial)
|
40
|
+
2010 December 21 (Total)
|
41
|
+
2011 June 15 (Total)
|
42
|
+
2011 December 10 (Total)
|
43
|
+
2012 June 4 (Partial)
|
44
|
+
2012 November 28 (Penumbral)
|
45
|
+
2013 April 25 (Partial)
|
46
|
+
2013 May 25 (Penumbral)
|
47
|
+
2013 October 18-19 (Penumbral)
|
48
|
+
2014 April 15 (Total)
|
49
|
+
2014 October 8 (Total)
|
50
|
+
}
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require "uri"
|
2
|
+
require "net/http"
|
3
|
+
|
4
|
+
module USNO
|
5
|
+
module Eclipse
|
6
|
+
module Lunar
|
7
|
+
module Request
|
8
|
+
private
|
9
|
+
def request_response(url = "http://aa.usno.navy.mil/cgi-bin/aa_lunecl.pl")
|
10
|
+
uri = URI.parse(url)
|
11
|
+
|
12
|
+
response = Net::HTTP.start(uri.host) do |http|
|
13
|
+
request = Net::HTTP::Post.new(uri.path)
|
14
|
+
|
15
|
+
http_headers.map { |k, v| request[k] = v }
|
16
|
+
request.body = request_body
|
17
|
+
|
18
|
+
http.request request
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
def http_headers
|
23
|
+
{
|
24
|
+
"Accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
|
25
|
+
"Accept-Language" => "en-US,en;q=0.5",
|
26
|
+
"Accept-Encoding" => "gzip,deflate,sdch",
|
27
|
+
"Referer" => "http://aa.usno.navy.mil/data/docs/LunarEclipse.php"
|
28
|
+
}
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
@@ -0,0 +1,36 @@
|
|
1
|
+
module USNO
|
2
|
+
module Eclipse
|
3
|
+
module Lunar
|
4
|
+
module States
|
5
|
+
def self.states
|
6
|
+
{
|
7
|
+
"Alabama" => "AL", "Alaska" => "AK", "American Samoa" => "AS",
|
8
|
+
"Arizona" => "AZ", "Arkansas" => "AR", "California" => "CA",
|
9
|
+
"Colorado" => "CO", "Connecticut" => "CT", "Delaware" => "DE",
|
10
|
+
"District of Columbia" => "DC", "Florida" => "FL", "Georgia" => "GA",
|
11
|
+
"Guam" => "GU", "Hawaii" => "HI", "Idaho" => "ID",
|
12
|
+
"Indiana" => "IN", "Iowa" => "IA", "Kansas" => "KS",
|
13
|
+
"Kentucky" => "KY", "Louisiana" => "LA", "Maine" => "ME",
|
14
|
+
"Maryland" => "MD", "Massachusetts" => "MA", "Michigan" => "MI",
|
15
|
+
"Minnesota" => "MN", "Mississippi" => "MS", "Missouri" => "MO",
|
16
|
+
"Montana" => "MT", "Nebraska" => "NE", "Nevada" => "NV",
|
17
|
+
"New Hampshire" => "NH", "New Jersey" => "NJ", "New Mexico" => "NM",
|
18
|
+
"New York" => "NY", "North Carolina" => "NC", "North Dakota" => "ND",
|
19
|
+
"N. Mariana Islands" => "MP", "Ohio" => "OH", "Oklahoma" => "OK",
|
20
|
+
"Oregon" => "OR", "Pennsylvania" => "PA", "Puerto Rico" => "PR",
|
21
|
+
"Rhode Island" => "RI", "South Carolina" => "SC", "South Dakota" => "SD",
|
22
|
+
"Tennessee" => "TN", "Texas" => "TX", "Utah" => "UT",
|
23
|
+
"Vermont" => "VT", "Virgin Islands" => "VI", "Virginia" => "VA",
|
24
|
+
"Washington" => "WA", "West Virginia" => "WV", "Wisconsin" => "WI",
|
25
|
+
"Wyoming" => "WY", "Illinois" => "IL"
|
26
|
+
}
|
27
|
+
end
|
28
|
+
|
29
|
+
def self.by_key_or_value(kv)
|
30
|
+
states.has_value? kv and return kv
|
31
|
+
states.fetch(kv) { raise "USNO State not recognized" }
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
require "uri"
|
2
|
+
require "net/http"
|
3
|
+
|
4
|
+
module USNO
|
5
|
+
module Eclipse
|
6
|
+
module Lunar
|
7
|
+
class USRequest < PayDirt::Base
|
8
|
+
include USNO::Eclipse::Lunar::Request
|
9
|
+
|
10
|
+
def initialize(options = {})
|
11
|
+
options = {
|
12
|
+
}.merge(options)
|
13
|
+
|
14
|
+
load_options(:city, :state, :date, options)
|
15
|
+
end
|
16
|
+
|
17
|
+
def call
|
18
|
+
return result(true, request_response.body)
|
19
|
+
end
|
20
|
+
|
21
|
+
private
|
22
|
+
def place
|
23
|
+
"st=#{USNO::Eclipse::Lunar::States.by_key_or_value(@state)}&place=#{@city}&hh1=#{@z_meters}"
|
24
|
+
end
|
25
|
+
|
26
|
+
|
27
|
+
|
28
|
+
def request_body
|
29
|
+
%W{
|
30
|
+
FFX=1
|
31
|
+
xxecl=#{USNO::Eclipse::Lunar::Eclipses.fetch(@date)}
|
32
|
+
#{place}
|
33
|
+
ZZZ=END
|
34
|
+
}.join("&")
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,73 @@
|
|
1
|
+
require "uri"
|
2
|
+
require "net/http"
|
3
|
+
|
4
|
+
module USNO
|
5
|
+
module Eclipse
|
6
|
+
module Lunar
|
7
|
+
class WorldWideRequest < PayDirt::Base
|
8
|
+
include USNO::Eclipse::Lunar::Request
|
9
|
+
|
10
|
+
def initialize(options = {})
|
11
|
+
options = {
|
12
|
+
z_meters: 0,
|
13
|
+
}.merge(options)
|
14
|
+
|
15
|
+
|
16
|
+
load_options(:long, :lat, :date, options) and validate_state
|
17
|
+
end
|
18
|
+
|
19
|
+
def call
|
20
|
+
return result(true, request_response.body)
|
21
|
+
end
|
22
|
+
|
23
|
+
private
|
24
|
+
def place
|
25
|
+
%W{
|
26
|
+
place=#{ @place || @city || "None given" }
|
27
|
+
#{elevation}
|
28
|
+
#{coordinates}
|
29
|
+
}.join("&")
|
30
|
+
end
|
31
|
+
|
32
|
+
def elevation
|
33
|
+
"hh1=#{@z_meters}"
|
34
|
+
end
|
35
|
+
|
36
|
+
def coordinates
|
37
|
+
%W{
|
38
|
+
xx0=#{ sign_of(@long) }
|
39
|
+
xx1=#{ @long.abs }
|
40
|
+
xx2=#{ @long_minutes }
|
41
|
+
xx3=#{ @long_seconds }
|
42
|
+
yy1=#{ @lat.abs }
|
43
|
+
yy2=#{ @lat_minutes }
|
44
|
+
yy3=#{ @lat_seconds }
|
45
|
+
yy0=#{ sign_of(@lat) }
|
46
|
+
}.join("&")
|
47
|
+
end
|
48
|
+
|
49
|
+
def sign_of(int)
|
50
|
+
int.zero? ? int.next : int / int.abs
|
51
|
+
end
|
52
|
+
|
53
|
+
def request_body
|
54
|
+
%W{
|
55
|
+
FFX=2
|
56
|
+
#{place}
|
57
|
+
xxecl=#{USNO::Eclipse::Lunar::Eclipses.fetch(@date)}
|
58
|
+
ZZZ=END
|
59
|
+
}.join("&")
|
60
|
+
end
|
61
|
+
|
62
|
+
def validate_state
|
63
|
+
@lat.between?(-90, 90) or raise %q{
|
64
|
+
Latitude (lat) out of range
|
65
|
+
}
|
66
|
+
@long.between?(-180, 180) or raise %q{
|
67
|
+
Longitude (long) out of range
|
68
|
+
}
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
data/test/test_helper.rb
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
#require "test_helper"
|
2
|
+
|
3
|
+
#describe USNO::Transit::Sun do
|
4
|
+
# before do
|
5
|
+
# @subject = USNO::Transit::Sun
|
6
|
+
# end
|
7
|
+
|
8
|
+
# describe "calling for data" do
|
9
|
+
# it "will raise without location dependencies" do
|
10
|
+
# -> { @subject.new.call }.must_raise RuntimeError
|
11
|
+
# end
|
12
|
+
|
13
|
+
# it "wont raise with location dependencies" do
|
14
|
+
# @subject.new(city: "Birmingham", state: "Alabama").call.must_respond_to :data
|
15
|
+
# end
|
16
|
+
# end
|
17
|
+
#end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
describe USNO::Eclipse::Lunar::USRequest do
|
4
|
+
before do
|
5
|
+
@subject = USNO::Eclipse::Lunar::USRequest
|
6
|
+
@params = {
|
7
|
+
city: "Birmingham",
|
8
|
+
state: "AL",
|
9
|
+
z_meters: 0,
|
10
|
+
date: "2014108"
|
11
|
+
}
|
12
|
+
end
|
13
|
+
|
14
|
+
describe "as a class" do
|
15
|
+
it "initializes properly" do
|
16
|
+
@subject.new(@params).must_respond_to :call
|
17
|
+
end
|
18
|
+
|
19
|
+
it "errors when initialized without required dependencies" do
|
20
|
+
-> { @subject.new(@params.reject { |k| k.to_s == 'city' }) }.must_raise RuntimeError
|
21
|
+
-> { @subject.new(@params.reject { |k| k.to_s == 'state' }) }.must_raise RuntimeError
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
describe "as an instance" do
|
26
|
+
it "executes successfully" do
|
27
|
+
result = @subject.new(@params).call
|
28
|
+
result.successful?.must_equal true
|
29
|
+
result.data.must_include("BIRMINGHAM, AL")
|
30
|
+
result.must_be_kind_of PayDirt::Result
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require "test_helper"
|
2
|
+
include Minitest::Assertions
|
3
|
+
|
4
|
+
describe USNO::Eclipse::Lunar::Data do
|
5
|
+
before do
|
6
|
+
@subject = USNO::Eclipse::Lunar::Data
|
7
|
+
@valid_eclipses = USNO::Eclipse::Lunar::Eclipses.hash.values
|
8
|
+
end
|
9
|
+
describe "as an instance" do
|
10
|
+
it "instantiates for each valid eclipse" do
|
11
|
+
@valid_eclipses.each do |k|
|
12
|
+
assert_instance_of(@subject, @subject.new(lat: 0, long: 0, date: k))
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
describe USNO::Eclipse::Lunar::WorldWideRequest do
|
4
|
+
before do
|
5
|
+
@subject = USNO::Eclipse::Lunar::WorldWideRequest
|
6
|
+
@params = {
|
7
|
+
city: "Greenwich Test",
|
8
|
+
z_meters: 0,
|
9
|
+
long: 30,
|
10
|
+
lat: 87,
|
11
|
+
date: "2014108"
|
12
|
+
}
|
13
|
+
end
|
14
|
+
|
15
|
+
describe "as a class" do
|
16
|
+
it "initializes properly" do
|
17
|
+
@subject.new(@params).must_respond_to :call
|
18
|
+
end
|
19
|
+
|
20
|
+
it "errors when initialized without required dependencies" do
|
21
|
+
-> { @subject.new(@params.reject { |k| k.to_s == 'lat' }) }.must_raise RuntimeError
|
22
|
+
-> { @subject.new(@params.reject { |k| k.to_s == 'long' }) }.must_raise RuntimeError
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
describe "as an instance" do
|
27
|
+
it "executes successfully" do
|
28
|
+
result = @subject.new(@params).call
|
29
|
+
result.successful?.must_equal true
|
30
|
+
result.data.must_include "GREENWICH TEST"
|
31
|
+
result.must_be_kind_of PayDirt::Result
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'usno/eclipse/lunar/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "usno-eclipse-lunar"
|
8
|
+
spec.version = USNO::Eclipse::Lunar::VERSION
|
9
|
+
spec.authors = ["Ryan T. Hosford"]
|
10
|
+
spec.email = ["tad.hosford@gmail.com"]
|
11
|
+
spec.description = %q{Obtain the circumstances of recent and upcoming lunar eclipses for any location}
|
12
|
+
spec.summary = %q{}
|
13
|
+
spec.homepage = "http://ea.rthbound.com/usno"
|
14
|
+
spec.license = "MIT"
|
15
|
+
|
16
|
+
spec.files = `git ls-files`.split($/)
|
17
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
|
+
spec.require_paths = ["lib"]
|
20
|
+
|
21
|
+
spec.add_runtime_dependency "pay_dirt"
|
22
|
+
spec.add_development_dependency "bundler", "~> 1.3"
|
23
|
+
spec.add_development_dependency "rake"
|
24
|
+
spec.add_development_dependency "coveralls"
|
25
|
+
spec.add_development_dependency "minitest"
|
26
|
+
end
|
metadata
ADDED
@@ -0,0 +1,140 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: usno-eclipse-lunar
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Ryan T. Hosford
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2013-11-26 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: pay_dirt
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - '>='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - '>='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: bundler
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ~>
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '1.3'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ~>
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '1.3'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rake
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: coveralls
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - '>='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: minitest
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - '>='
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - '>='
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
description: Obtain the circumstances of recent and upcoming lunar eclipses for any
|
84
|
+
location
|
85
|
+
email:
|
86
|
+
- tad.hosford@gmail.com
|
87
|
+
executables: []
|
88
|
+
extensions: []
|
89
|
+
extra_rdoc_files: []
|
90
|
+
files:
|
91
|
+
- .gitignore
|
92
|
+
- .travis.yml
|
93
|
+
- Gemfile
|
94
|
+
- LICENSE.txt
|
95
|
+
- README.md
|
96
|
+
- Rakefile
|
97
|
+
- lib/usno/eclipse/lunar.rb
|
98
|
+
- lib/usno/eclipse/lunar/data.rb
|
99
|
+
- lib/usno/eclipse/lunar/eclipses.rb
|
100
|
+
- lib/usno/eclipse/lunar/request.rb
|
101
|
+
- lib/usno/eclipse/lunar/states.rb
|
102
|
+
- lib/usno/eclipse/lunar/us_request.rb
|
103
|
+
- lib/usno/eclipse/lunar/version.rb
|
104
|
+
- lib/usno/eclipse/lunar/worldwide_request.rb
|
105
|
+
- test/test_helper.rb
|
106
|
+
- test/unit/usno/eclipse/lunar/sun_test.rb
|
107
|
+
- test/unit/usno/eclipse/lunar/us_request_test.rb
|
108
|
+
- test/unit/usno/eclipse/lunar/view_test.rb
|
109
|
+
- test/unit/usno/eclipse/lunar/worldwide_request_test.rb
|
110
|
+
- usno-eclipse-lunar.gemspec
|
111
|
+
homepage: http://ea.rthbound.com/usno
|
112
|
+
licenses:
|
113
|
+
- MIT
|
114
|
+
metadata: {}
|
115
|
+
post_install_message:
|
116
|
+
rdoc_options: []
|
117
|
+
require_paths:
|
118
|
+
- lib
|
119
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
120
|
+
requirements:
|
121
|
+
- - '>='
|
122
|
+
- !ruby/object:Gem::Version
|
123
|
+
version: '0'
|
124
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
125
|
+
requirements:
|
126
|
+
- - '>='
|
127
|
+
- !ruby/object:Gem::Version
|
128
|
+
version: '0'
|
129
|
+
requirements: []
|
130
|
+
rubyforge_project:
|
131
|
+
rubygems_version: 2.0.3
|
132
|
+
signing_key:
|
133
|
+
specification_version: 4
|
134
|
+
summary: ''
|
135
|
+
test_files:
|
136
|
+
- test/test_helper.rb
|
137
|
+
- test/unit/usno/eclipse/lunar/sun_test.rb
|
138
|
+
- test/unit/usno/eclipse/lunar/us_request_test.rb
|
139
|
+
- test/unit/usno/eclipse/lunar/view_test.rb
|
140
|
+
- test/unit/usno/eclipse/lunar/worldwide_request_test.rb
|