bcn_ni 0.1.4 → 0.1.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +15 -2
- data/lib/bcn_ni/helpers/request.rb +15 -11
- data/lib/bcn_ni/version.rb +1 -1
- metadata +14 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2d17fe676aa77facf97c9cf4355d7de85a4ff7f3f0f047324b56201992264092
|
4
|
+
data.tar.gz: 65cb53118d9f3086d96d29c41fd5c5745f1ca789f91b8e04b9da2a6545cf25f7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7312305624a80c519b8956faad2c1faecaa3cc93f2e59dbc194b6b991c9958deb91f27686df5cbbb07648115066833935e37d7aa164f62e2cdbb08ba8c80974a
|
7
|
+
data.tar.gz: 99f45ec56e4e64b7382853c8fa0abeff6839f9a65a2bfbb3c626fa262a445f6a795bcf6f00a4424b4b833fc04fcad55f2111e76f662fc94de62c00202e9eba87
|
data/README.md
CHANGED
@@ -1,7 +1,9 @@
|
|
1
1
|
# BcnNi
|
2
|
+
|
2
3
|
This gem provides NIO (Córdoba Oro Nicaragüense) against USD (United States Dollar) money exchange rates consuming the official Central Bank of Nicaragüa (BCN) SOAP Service or HTML page
|
3
4
|
|
4
5
|
## Basic usage
|
6
|
+
|
5
7
|
```ruby
|
6
8
|
# Returns the exchange rate for September 15th, 2017
|
7
9
|
day_rate = BcnNi.exchange_day(2017, 9, 15)
|
@@ -47,6 +49,7 @@ month_rate = BcnNi.exchange_month(2017, 9)
|
|
47
49
|
```
|
48
50
|
|
49
51
|
## Changing the request mode
|
52
|
+
|
50
53
|
For changing the request mode simply add `request_mode` argument at the end of the method args. **The default request mode is scrapping** (which incredibly resulted to be faster than SOAP and with 24/7 availability). You can change this like the example given below:
|
51
54
|
|
52
55
|
```ruby
|
@@ -58,8 +61,8 @@ day_rate = BcnNi.exchange_day(2017, 9, 15, request_mode: :soap)
|
|
58
61
|
month_rate = BcnNi.exchange_month(2017, 9, request_mode: :soap)
|
59
62
|
```
|
60
63
|
|
61
|
-
|
62
64
|
## Installation
|
65
|
+
|
63
66
|
Add this line to your application's Gemfile:
|
64
67
|
|
65
68
|
```ruby
|
@@ -67,19 +70,29 @@ Add this line to your application's Gemfile:
|
|
67
70
|
gem 'bcn_ni', git: 'https://github.com/mldoscar/bcn_ni', branch: 'master'
|
68
71
|
|
69
72
|
# From ruby gems
|
70
|
-
gem 'bcn_ni', '
|
73
|
+
gem 'bcn_ni', '~> 0.1.7'
|
71
74
|
|
72
75
|
# Using gem install
|
73
76
|
gem install bcn_ni
|
74
77
|
```
|
75
78
|
|
76
79
|
And then execute:
|
80
|
+
|
77
81
|
```bash
|
78
82
|
$ bundle
|
79
83
|
```
|
80
84
|
|
85
|
+
## Changelog
|
86
|
+
|
87
|
+
```
|
88
|
+
2022.04.06 - Rails 6.x 7.x compatibility
|
89
|
+
2021.06.28 - Bugfix: Cambio en el URI para el request de scrapping, el BCN cambió de parámetros y ubicación de URL
|
90
|
+
```
|
91
|
+
|
81
92
|
## Contributing
|
93
|
+
|
82
94
|
You guys are free to send your pull requests for contributing. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.
|
83
95
|
|
84
96
|
## License
|
97
|
+
|
85
98
|
The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
@@ -3,8 +3,13 @@ require 'net/http'
|
|
3
3
|
require 'net/https'
|
4
4
|
require 'nokogiri'
|
5
5
|
require 'open-uri'
|
6
|
-
require 'active_support/core_ext/hash'
|
7
6
|
require 'json'
|
7
|
+
require 'active_support/core_ext/hash'
|
8
|
+
begin
|
9
|
+
require 'active_support/time'
|
10
|
+
rescue LoadError
|
11
|
+
end
|
12
|
+
|
8
13
|
|
9
14
|
module BcnNi
|
10
15
|
class Request
|
@@ -30,7 +35,7 @@ module BcnNi
|
|
30
35
|
|
31
36
|
case @request_mode
|
32
37
|
when :scrapping
|
33
|
-
@request_url = "https://www.bcn.gob.ni/
|
38
|
+
@request_url = "https://www.bcn.gob.ni/IRR/tipo_cambio_mensual/mes.php"
|
34
39
|
when :soap
|
35
40
|
# See 'https://servicios.bcn.gob.ni/Tc_Servicio/ServicioTC.asmx' for more info about how to build a RAW SOAP request
|
36
41
|
@request_url = "https://servicios.bcn.gob.ni/Tc_Servicio/ServicioTC.asmx?WSDL"
|
@@ -79,12 +84,11 @@ module BcnNi
|
|
79
84
|
def scra__exchange_month(year, month)
|
80
85
|
# Parse the date
|
81
86
|
start_date = Date.new(year, month, 1)
|
82
|
-
end_date = start_date.end_of_month
|
83
87
|
|
84
88
|
# Create the arg hash
|
85
89
|
args = {
|
86
|
-
|
87
|
-
|
90
|
+
mes: start_date.strftime('%m'),
|
91
|
+
anio: start_date.strftime('%Y')
|
88
92
|
}
|
89
93
|
|
90
94
|
# Generate the full url
|
@@ -194,35 +198,35 @@ module BcnNi
|
|
194
198
|
end
|
195
199
|
|
196
200
|
def soap__envelope(letter)
|
197
|
-
envelope =
|
201
|
+
envelope = <<-XML
|
198
202
|
<?xml version="1.0" encoding="utf-8"?>
|
199
203
|
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
|
200
204
|
<soap:Body>
|
201
205
|
#{letter}
|
202
206
|
</soap:Body>
|
203
207
|
</soap:Envelope>
|
204
|
-
|
208
|
+
XML
|
205
209
|
return envelope
|
206
210
|
end
|
207
211
|
|
208
212
|
def soap__letter_exchange_day(year, month, day)
|
209
|
-
letter =
|
213
|
+
letter = <<-XML
|
210
214
|
<RecuperaTC_Dia xmlns="http://servicios.bcn.gob.ni/">
|
211
215
|
<Ano>#{year}</Ano>
|
212
216
|
<Mes>#{month}</Mes>
|
213
217
|
<Dia>#{day}</Dia>
|
214
218
|
</RecuperaTC_Dia>
|
215
|
-
|
219
|
+
XML
|
216
220
|
return letter
|
217
221
|
end
|
218
222
|
|
219
223
|
def soap__letter_exchange_month(year, month)
|
220
|
-
letter =
|
224
|
+
letter = <<-XML
|
221
225
|
<RecuperaTC_Mes xmlns="http://servicios.bcn.gob.ni/">
|
222
226
|
<Ano>#{year}</Ano>
|
223
227
|
<Mes>#{month}</Mes>
|
224
228
|
</RecuperaTC_Mes>
|
225
|
-
|
229
|
+
XML
|
226
230
|
return letter
|
227
231
|
end
|
228
232
|
|
data/lib/bcn_ni/version.rb
CHANGED
metadata
CHANGED
@@ -1,29 +1,35 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bcn_ni
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Oscar Rodriguez
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-04-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '5.2'
|
20
|
+
- - "<"
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '8.0'
|
20
23
|
type: :runtime
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
23
26
|
requirements:
|
24
|
-
- - "
|
27
|
+
- - ">="
|
25
28
|
- !ruby/object:Gem::Version
|
26
29
|
version: '5.2'
|
30
|
+
- - "<"
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '8.0'
|
27
33
|
- !ruby/object:Gem::Dependency
|
28
34
|
name: nokogiri
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -88,7 +94,7 @@ homepage: https://github.com/mldoscar/bcn_ni
|
|
88
94
|
licenses:
|
89
95
|
- MIT
|
90
96
|
metadata: {}
|
91
|
-
post_install_message:
|
97
|
+
post_install_message:
|
92
98
|
rdoc_options: []
|
93
99
|
require_paths:
|
94
100
|
- lib
|
@@ -103,9 +109,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
103
109
|
- !ruby/object:Gem::Version
|
104
110
|
version: '0'
|
105
111
|
requirements: []
|
106
|
-
|
107
|
-
|
108
|
-
signing_key:
|
112
|
+
rubygems_version: 3.0.6
|
113
|
+
signing_key:
|
109
114
|
specification_version: 4
|
110
115
|
summary: This tool pretends to be helpful for developers who can request exchange
|
111
116
|
rates from Nicaragua in a easier way
|