dof 1.0.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 +7 -0
- data/.github/workflows/ruby.yml +67 -0
- data/.gitignore +11 -0
- data/.rspec +3 -0
- data/.travis.yml +7 -0
- data/DOF.gemspec +33 -0
- data/Gemfile +6 -0
- data/Gemfile.lock +61 -0
- data/README.md +76 -0
- data/Rakefile +14 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/lib/DOF.rb +30 -0
- data/lib/DOF/client.rb +10 -0
- data/lib/DOF/connection.rb +10 -0
- data/lib/DOF/date_formatter.rb +15 -0
- data/lib/DOF/endpoints.rb +5 -0
- data/lib/DOF/errors/base_error.rb +13 -0
- data/lib/DOF/errors/network_error.rb +5 -0
- data/lib/DOF/errors/precondition_failed.rb +5 -0
- data/lib/DOF/indicator.rb +25 -0
- data/lib/DOF/indicator_codes.rb +6 -0
- data/lib/DOF/responses/indicator_response.rb +20 -0
- data/lib/DOF/responses/request_response.rb +35 -0
- data/lib/DOF/version.rb +3 -0
- metadata +164 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 71cd14922fb4ae55bce6c6bb13a4ec712cd6b3eada9fdc4d1b60dd3e92910bf5
|
4
|
+
data.tar.gz: 0dd8e99c443220e7c30dd80d0533bc1990291556347ec651066ff572e72c0ced
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 18869f525f4370ac4ea2c3062dac09e77def696528205b9d30bccec65861a76b14a744ed66c50ce5ce81b06c007e938557e1bfdfaca48811d1795a943e229ebd
|
7
|
+
data.tar.gz: b112b02349dcd2f3f55c8d8c91c85bab99b28b924eaba939b440361a31202e6f84fb923c9c23ef863088d82f209fbf9aaff72a5693aacca91572dde4738c2958
|
@@ -0,0 +1,67 @@
|
|
1
|
+
# This workflow uses actions that are not certified by GitHub.
|
2
|
+
# They are provided by a third-party and are governed by
|
3
|
+
# separate terms of service, privacy policy, and support
|
4
|
+
# documentation.
|
5
|
+
# This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake
|
6
|
+
# For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
|
7
|
+
|
8
|
+
name: Ruby
|
9
|
+
|
10
|
+
on:
|
11
|
+
push:
|
12
|
+
branches: [ master ]
|
13
|
+
pull_request:
|
14
|
+
branches: [ master ]
|
15
|
+
|
16
|
+
jobs:
|
17
|
+
test:
|
18
|
+
|
19
|
+
runs-on: ubuntu-latest
|
20
|
+
|
21
|
+
steps:
|
22
|
+
- uses: actions/checkout@v2
|
23
|
+
- name: Set up Ruby
|
24
|
+
# To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
|
25
|
+
# change this to (see https://github.com/ruby/setup-ruby#versioning):
|
26
|
+
# uses: ruby/setup-ruby@v1
|
27
|
+
uses: ruby/setup-ruby@ec106b438a1ff6ff109590de34ddc62c540232e0
|
28
|
+
with:
|
29
|
+
ruby-version: 2.6
|
30
|
+
- name: Install dependencies
|
31
|
+
run: bundle install
|
32
|
+
- name: Run tests
|
33
|
+
run: bundle exec rake
|
34
|
+
|
35
|
+
build:
|
36
|
+
name: Build + Publish
|
37
|
+
runs-on: ubuntu-latest
|
38
|
+
|
39
|
+
steps:
|
40
|
+
- uses: actions/checkout@v2
|
41
|
+
- name: Set up Ruby 2.6
|
42
|
+
uses: actions/setup-ruby@v1
|
43
|
+
with:
|
44
|
+
ruby-version: 2.6.x
|
45
|
+
|
46
|
+
- name: Publish to GPR
|
47
|
+
run: |
|
48
|
+
mkdir -p $HOME/.gem
|
49
|
+
touch $HOME/.gem/credentials
|
50
|
+
chmod 0600 $HOME/.gem/credentials
|
51
|
+
printf -- "---\n:github: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
|
52
|
+
gem build *.gemspec
|
53
|
+
gem push --KEY github --host https://rubygems.pkg.github.com/${OWNER} *.gem
|
54
|
+
env:
|
55
|
+
GEM_HOST_API_KEY: "Bearer ${{secrets.GITHUB_TOKEN}}"
|
56
|
+
OWNER: ${{ github.repository_owner }}
|
57
|
+
|
58
|
+
- name: Publish to RubyGems
|
59
|
+
run: |
|
60
|
+
mkdir -p $HOME/.gem
|
61
|
+
touch $HOME/.gem/credentials
|
62
|
+
chmod 0600 $HOME/.gem/credentials
|
63
|
+
printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
|
64
|
+
gem build *.gemspec
|
65
|
+
gem push *.gem
|
66
|
+
env:
|
67
|
+
GEM_HOST_API_KEY: "${{secrets.RUBYGEMS_AUTH_TOKEN}}"
|
data/.gitignore
ADDED
data/.rspec
ADDED
data/.travis.yml
ADDED
data/DOF.gemspec
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
|
2
|
+
lib = File.expand_path("../lib", __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require "DOF/version"
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "dof"
|
8
|
+
spec.version = DOF::VERSION
|
9
|
+
spec.authors = ["Yellowme"]
|
10
|
+
spec.email = ["hola@yellowme.mx"]
|
11
|
+
|
12
|
+
spec.summary = %q{A simple service to consume Mexican DOF data}
|
13
|
+
spec.homepage = "https://github.com/yellowme/DOF"
|
14
|
+
|
15
|
+
|
16
|
+
# Specify which files should be added to the gem when it is released.
|
17
|
+
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
18
|
+
spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
|
19
|
+
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
20
|
+
end
|
21
|
+
spec.bindir = "exe"
|
22
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
23
|
+
spec.require_paths = ["lib"]
|
24
|
+
|
25
|
+
spec.add_dependency "faraday", "~> 1.0.0"
|
26
|
+
|
27
|
+
spec.add_development_dependency "bundler", "~> 1.17"
|
28
|
+
spec.add_development_dependency "rake", "~> 10.0"
|
29
|
+
spec.add_development_dependency "rspec", "~> 3.0"
|
30
|
+
spec.add_development_dependency 'app_version_tasks'
|
31
|
+
spec.add_development_dependency 'simplecov', '~> 0.17'
|
32
|
+
spec.add_development_dependency 'webmock', '~> 3.7'
|
33
|
+
end
|
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,61 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
Dof (1.0.0)
|
5
|
+
faraday (~> 1.0.0)
|
6
|
+
|
7
|
+
GEM
|
8
|
+
remote: https://rubygems.org/
|
9
|
+
specs:
|
10
|
+
addressable (2.7.0)
|
11
|
+
public_suffix (>= 2.0.2, < 5.0)
|
12
|
+
app_version_tasks (0.2.5)
|
13
|
+
git (~> 1.3)
|
14
|
+
crack (0.4.4)
|
15
|
+
diff-lcs (1.4.4)
|
16
|
+
docile (1.3.2)
|
17
|
+
faraday (1.0.1)
|
18
|
+
multipart-post (>= 1.2, < 3)
|
19
|
+
git (1.7.0)
|
20
|
+
rchardet (~> 1.8)
|
21
|
+
hashdiff (1.0.1)
|
22
|
+
multipart-post (2.1.1)
|
23
|
+
public_suffix (4.0.6)
|
24
|
+
rake (10.5.0)
|
25
|
+
rchardet (1.8.0)
|
26
|
+
rspec (3.9.0)
|
27
|
+
rspec-core (~> 3.9.0)
|
28
|
+
rspec-expectations (~> 3.9.0)
|
29
|
+
rspec-mocks (~> 3.9.0)
|
30
|
+
rspec-core (3.9.3)
|
31
|
+
rspec-support (~> 3.9.3)
|
32
|
+
rspec-expectations (3.9.2)
|
33
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
34
|
+
rspec-support (~> 3.9.0)
|
35
|
+
rspec-mocks (3.9.1)
|
36
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
37
|
+
rspec-support (~> 3.9.0)
|
38
|
+
rspec-support (3.9.3)
|
39
|
+
simplecov (0.19.0)
|
40
|
+
docile (~> 1.1)
|
41
|
+
simplecov-html (~> 0.11)
|
42
|
+
simplecov-html (0.12.3)
|
43
|
+
webmock (3.9.1)
|
44
|
+
addressable (>= 2.3.6)
|
45
|
+
crack (>= 0.3.2)
|
46
|
+
hashdiff (>= 0.4.0, < 2.0.0)
|
47
|
+
|
48
|
+
PLATFORMS
|
49
|
+
ruby
|
50
|
+
|
51
|
+
DEPENDENCIES
|
52
|
+
Dof!
|
53
|
+
app_version_tasks
|
54
|
+
bundler (~> 1.17)
|
55
|
+
rake (~> 10.0)
|
56
|
+
rspec (~> 3.0)
|
57
|
+
simplecov (~> 0.17)
|
58
|
+
webmock (~> 3.7)
|
59
|
+
|
60
|
+
BUNDLED WITH
|
61
|
+
1.17.3
|
data/README.md
ADDED
@@ -0,0 +1,76 @@
|
|
1
|
+
# DOF
|
2
|
+
A simple gem to interact with the Mexican DOF open data service
|
3
|
+
|
4
|
+
## Installation
|
5
|
+
|
6
|
+
Add this line to your application's Gemfile:
|
7
|
+
|
8
|
+
```ruby
|
9
|
+
gem 'dof'
|
10
|
+
```
|
11
|
+
|
12
|
+
And then execute:
|
13
|
+
|
14
|
+
$ bundle
|
15
|
+
|
16
|
+
Or install it yourself as:
|
17
|
+
|
18
|
+
$ gem install dof
|
19
|
+
|
20
|
+
## Usage
|
21
|
+
|
22
|
+
Add a new initializer and add the following lines
|
23
|
+
```ruby
|
24
|
+
require "DOF"
|
25
|
+
|
26
|
+
DOF.config do |c|
|
27
|
+
c.base_uri = "https://sidofqa.segob.gob.mx/dof/sidof/"
|
28
|
+
end
|
29
|
+
```
|
30
|
+
|
31
|
+
### Querying the current USD exchange rate
|
32
|
+
|
33
|
+
To get the current (daily) exchange rate call `USD_exchange_rate`
|
34
|
+
|
35
|
+
```ruby
|
36
|
+
DOF::Indicator.USD_exchange_rate
|
37
|
+
```
|
38
|
+
|
39
|
+
This will return an `RequestResponse` object with the following attributes:
|
40
|
+
|
41
|
+
```ruby
|
42
|
+
# An array of indicator objects
|
43
|
+
:indicators
|
44
|
+
# A request response confirmation
|
45
|
+
:response_code
|
46
|
+
# response status eg: 200/500
|
47
|
+
:response_status
|
48
|
+
# number of indicators found
|
49
|
+
:total_indicators
|
50
|
+
```
|
51
|
+
|
52
|
+
### Querying the current UDIS exchange rate
|
53
|
+
|
54
|
+
To get the current (daily) exchange rate call `UDIS_exchange_rate`
|
55
|
+
|
56
|
+
```ruby
|
57
|
+
DOF::Indicator.UDIS_exchange_rate
|
58
|
+
```
|
59
|
+
|
60
|
+
### Querying indicators by date range
|
61
|
+
|
62
|
+
You can call `USD_exchange_rate` and `UDIS_exchange_rate` with date params
|
63
|
+
|
64
|
+
```ruby
|
65
|
+
DOF::Indicator.USD_exchange_rate(date: initial_date, end_date: end_date)
|
66
|
+
```
|
67
|
+
|
68
|
+
The accepted date formats are:
|
69
|
+
* `String` in *mm/dd/YYYY* format
|
70
|
+
* `String` in *mm-dd-YYYY* format
|
71
|
+
* `String` in *mm.dd.YYYY* format
|
72
|
+
* `Date` type, eg: *Date.today*
|
73
|
+
|
74
|
+
## Contributing
|
75
|
+
|
76
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/yellowme/DOF.
|
data/Rakefile
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
require "bundler/gem_tasks"
|
2
|
+
require "rspec/core/rake_task"
|
3
|
+
require 'app_version_tasks'
|
4
|
+
|
5
|
+
RSpec::Core::RakeTask.new(:spec)
|
6
|
+
|
7
|
+
task :default => :spec
|
8
|
+
|
9
|
+
spec = Gem::Specification.find_by_name 'app_version_tasks'
|
10
|
+
load "#{spec.gem_dir}/lib/tasks/app_version_tasks.rake"
|
11
|
+
AppVersionTasks.configure do |config|
|
12
|
+
config.application_name = 'dof'
|
13
|
+
config.version_file_path = File.join('lib', 'DOF', 'version.rb')
|
14
|
+
end
|
data/bin/console
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require "bundler/setup"
|
4
|
+
require "DOF"
|
5
|
+
|
6
|
+
# You can add fixtures and/or initialization code here to make experimenting
|
7
|
+
# with your gem easier. You can also use a different console, if you like.
|
8
|
+
|
9
|
+
# (If you use this, don't forget to add pry to your Gemfile!)
|
10
|
+
# require "pry"
|
11
|
+
# Pry.start
|
12
|
+
|
13
|
+
require "irb"
|
14
|
+
IRB.start(__FILE__)
|
data/bin/setup
ADDED
data/lib/DOF.rb
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
require "DOF/version"
|
2
|
+
require "DOF/connection"
|
3
|
+
require "DOF/client"
|
4
|
+
require "DOF/endpoints"
|
5
|
+
require "DOF/indicator"
|
6
|
+
require "DOF/indicator_codes"
|
7
|
+
require "DOF/responses/request_response"
|
8
|
+
require "DOF/responses/indicator_response"
|
9
|
+
require "DOF/date_formatter"
|
10
|
+
require "DOF/errors/base_error"
|
11
|
+
require "DOF/errors/precondition_failed"
|
12
|
+
require "DOF/errors/network_error"
|
13
|
+
|
14
|
+
module DOF
|
15
|
+
def self.config
|
16
|
+
yield self
|
17
|
+
end
|
18
|
+
|
19
|
+
def self.version
|
20
|
+
@version
|
21
|
+
end
|
22
|
+
|
23
|
+
def self.base_uri
|
24
|
+
@base_uri
|
25
|
+
end
|
26
|
+
|
27
|
+
def self.base_uri=(base_uri)
|
28
|
+
@base_uri = base_uri
|
29
|
+
end
|
30
|
+
end
|
data/lib/DOF/client.rb
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
module DOF
|
2
|
+
module Client
|
3
|
+
def self.get(path:, body: nil, headers: {})
|
4
|
+
response = DOF.connection.get path, body, headers
|
5
|
+
JSON.parse(response.body)
|
6
|
+
rescue Faraday::ConnectionFailed, Faraday::TimeoutError
|
7
|
+
raise DOF::Errors::NetworkError
|
8
|
+
end
|
9
|
+
end
|
10
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module DOF
|
2
|
+
module DateFormatter
|
3
|
+
DATE_FORMAT = '^(?:(?:31(\/|-|\.)(?:0?[13578]|1[02]))\1|(?:(?:29|30)(\/|-|\.)(?:0?[13-9]|1[0-2])\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:29(\/|-|\.)0?2\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1\d|2[0-8])(\/|-|\.)(?:(?:0?[1-9])|(?:1[0-2]))\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$'
|
4
|
+
|
5
|
+
def self.format(date)
|
6
|
+
formatted_date = ''
|
7
|
+
|
8
|
+
if ((date.is_a? String) && date.match(DATE_FORMAT)) || (date.is_a? Date)
|
9
|
+
formatted_date = Date.parse(date.to_s).strftime("%d-%m-%Y")
|
10
|
+
else
|
11
|
+
raise Errors::PreconditionFailed.new("The date has incorrect format")
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module DOF
|
2
|
+
class Indicator
|
3
|
+
class << self
|
4
|
+
|
5
|
+
def USD_exchange_rate(date: Date.today, end_date: date)
|
6
|
+
raw_response = get(Indicator_Codes::USD, date, end_date)
|
7
|
+
response = Responses::RequestResponse.new(raw_response)
|
8
|
+
end
|
9
|
+
|
10
|
+
def UDIS_exchange_rate(date: Date.today, end_date: date)
|
11
|
+
raw_response = get(Indicator_Codes::UDIS, date, end_date)
|
12
|
+
response = Responses::RequestResponse.new(raw_response)
|
13
|
+
end
|
14
|
+
|
15
|
+
private
|
16
|
+
|
17
|
+
def get(indicator, initial_date, end_date)
|
18
|
+
initial_date = DateFormatter.format(initial_date)
|
19
|
+
end_date = DateFormatter.format(end_date)
|
20
|
+
|
21
|
+
Client.get path: "#{Endpoints::INDICATORS}/#{indicator}/#{initial_date}/#{end_date}"
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require 'bigdecimal'
|
2
|
+
|
3
|
+
module DOF
|
4
|
+
module Responses
|
5
|
+
class IndicatorResponse
|
6
|
+
|
7
|
+
attr_reader :indicador_code
|
8
|
+
attr_reader :indicador_type_code
|
9
|
+
attr_reader :date
|
10
|
+
attr_reader :value
|
11
|
+
|
12
|
+
def initialize(data)
|
13
|
+
@indicador_code = data["codIndicador"]
|
14
|
+
@indicador_type_code = data["codTipoIndicador"]
|
15
|
+
@date = data["fecha"]
|
16
|
+
@value = BigDecimal(data["valor"])
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
module DOF
|
2
|
+
module Responses
|
3
|
+
class RequestResponse
|
4
|
+
NO_ERROR_CODE = 200
|
5
|
+
|
6
|
+
attr_reader :indicators
|
7
|
+
attr_reader :response_code
|
8
|
+
attr_reader :response_status
|
9
|
+
attr_reader :total_indicators
|
10
|
+
|
11
|
+
def initialize(response)
|
12
|
+
parse_response(response)
|
13
|
+
end
|
14
|
+
|
15
|
+
def parse_response(response)
|
16
|
+
@response_code = response["messageCode"]
|
17
|
+
@response_status = response["response"]
|
18
|
+
@total_indicators = response["TotalIndicadores"]
|
19
|
+
@indicators = []
|
20
|
+
|
21
|
+
build_indicator(response["ListaIndicadores"])
|
22
|
+
end
|
23
|
+
|
24
|
+
def build_indicator(data)
|
25
|
+
data.each do |indicator|
|
26
|
+
@indicators << Responses::IndicatorResponse.new(indicator)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
def successful?
|
31
|
+
@response_code == NO_ERROR_CODE
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
data/lib/DOF/version.rb
ADDED
metadata
ADDED
@@ -0,0 +1,164 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: dof
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Yellowme
|
8
|
+
autorequire:
|
9
|
+
bindir: exe
|
10
|
+
cert_chain: []
|
11
|
+
date: 2020-10-08 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: faraday
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 1.0.0
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 1.0.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.17'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '1.17'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rake
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '10.0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '10.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rspec
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '3.0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '3.0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: app_version_tasks
|
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
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: simplecov
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0.17'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0.17'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: webmock
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '3.7'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '3.7'
|
111
|
+
description:
|
112
|
+
email:
|
113
|
+
- hola@yellowme.mx
|
114
|
+
executables: []
|
115
|
+
extensions: []
|
116
|
+
extra_rdoc_files: []
|
117
|
+
files:
|
118
|
+
- ".github/workflows/ruby.yml"
|
119
|
+
- ".gitignore"
|
120
|
+
- ".rspec"
|
121
|
+
- ".travis.yml"
|
122
|
+
- DOF.gemspec
|
123
|
+
- Gemfile
|
124
|
+
- Gemfile.lock
|
125
|
+
- README.md
|
126
|
+
- Rakefile
|
127
|
+
- bin/console
|
128
|
+
- bin/setup
|
129
|
+
- lib/DOF.rb
|
130
|
+
- lib/DOF/client.rb
|
131
|
+
- lib/DOF/connection.rb
|
132
|
+
- lib/DOF/date_formatter.rb
|
133
|
+
- lib/DOF/endpoints.rb
|
134
|
+
- lib/DOF/errors/base_error.rb
|
135
|
+
- lib/DOF/errors/network_error.rb
|
136
|
+
- lib/DOF/errors/precondition_failed.rb
|
137
|
+
- lib/DOF/indicator.rb
|
138
|
+
- lib/DOF/indicator_codes.rb
|
139
|
+
- lib/DOF/responses/indicator_response.rb
|
140
|
+
- lib/DOF/responses/request_response.rb
|
141
|
+
- lib/DOF/version.rb
|
142
|
+
homepage: https://github.com/yellowme/DOF
|
143
|
+
licenses: []
|
144
|
+
metadata: {}
|
145
|
+
post_install_message:
|
146
|
+
rdoc_options: []
|
147
|
+
require_paths:
|
148
|
+
- lib
|
149
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
150
|
+
requirements:
|
151
|
+
- - ">="
|
152
|
+
- !ruby/object:Gem::Version
|
153
|
+
version: '0'
|
154
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
155
|
+
requirements:
|
156
|
+
- - ">="
|
157
|
+
- !ruby/object:Gem::Version
|
158
|
+
version: '0'
|
159
|
+
requirements: []
|
160
|
+
rubygems_version: 3.0.3
|
161
|
+
signing_key:
|
162
|
+
specification_version: 4
|
163
|
+
summary: A simple service to consume Mexican DOF data
|
164
|
+
test_files: []
|