chillon 0.0.2 → 0.0.3

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
  SHA1:
3
- metadata.gz: 297b3ab9e7be01df137633a53d34823ec82d1882
4
- data.tar.gz: 1134e8dce1322310d2280fa5d53f2fcf1d5a47b2
3
+ metadata.gz: 3bf793c5add66c192f01241787d4265f8a6ac40c
4
+ data.tar.gz: b99122a143860b73ebf1f1b262c41d81bab124ac
5
5
  SHA512:
6
- metadata.gz: f3d51a156d8cebab37591be2a5536e500b78d1f0e29c0cc3914b3c8688198d37d679e67f44cc3c88b324c7547af60221fc63fc0a884b7b1c3dc4d98817df731f
7
- data.tar.gz: eba40e4fb40a662924c03f730039f5d01e49486b7b67dc897d8e6a60519238d806adcfa773fa39b6e32d2e6fe0ccf929972ba479fd2f49d8319b4c4b80edc6bc
6
+ metadata.gz: 828c9e66547b04d41e9257f2fe841d4115fc2d5733dfff1f7576247a47217e8bbdda59433ddc25cb6c20aab2edbdd009ec7e14b3d0f1fea4d2ecf4bcae44afdf
7
+ data.tar.gz: 98dde8bbaa19814701b14a39833b96194faa5420e4f6e6e59084e4a23889107f5de6319ad397c9dfda3ace98c819c1b812a8417e1f31f0b9f252301d9d25d665
data/README.md CHANGED
@@ -20,13 +20,25 @@ Or install it yourself as:
20
20
 
21
21
  Just create a Request object and ask for it to get you some delicious data. Yummy!
22
22
 
23
- open_data = Chillon::Request("XXXX")
24
- open_date.get_museo_de_lima
23
+ open_data = Chillon::Request.new("e1fcb8366d2e470c2a41711c912edbc98404c623")
24
+ open_data.get_museo_de_lima
25
25
 
26
26
  Chillon will interpret that call and transform the method to the -arguibly- ugly GUID code of "MUSEO-DE-LIMA"
27
27
 
28
+ Want more? Oh boy, you are for a treat. Let's say, you want to pull data from some museums. But also more data. Well, just ask for it:
29
+
30
+ results = open_data.get_museo_de_lima_and_licen_de_funci_2013
31
+
32
+ Now you've got a hash filled with some neat info, ready to be perused. Just access if through their IDs:
33
+
34
+ results["MUSEO-DE-LIMA"]
35
+ results["LICEN-DE-FUNCI-2013"]
36
+
37
+ You can chain any number of calls to the server. Just, you know, don't abuse it.
38
+
28
39
  So, chill and relax: Chillon's got your back, yo.
29
40
 
41
+
30
42
  ## Contributing
31
43
 
32
44
  1. Fork it
@@ -1,29 +1,23 @@
1
1
  require_relative "chillon/version"
2
- require 'rimac'
2
+ require_relative "chillon/parser"
3
+ require_relative "chillon/handler"
3
4
 
4
5
  module Chillon
5
6
 
6
7
  class Request
7
8
 
8
9
  def initialize(token = "NEED_A_TOKEN")
9
- @access = Rimac::API.new(token)
10
+ @handler = Handler.new(token)
10
11
  end
11
12
 
12
13
  def method_missing(*args)
13
- name, attrs = args
14
- if name =~ /get_(.*)/
15
- callee = $1
16
- name = transform_callee_to_guid(callee)
17
- @access.get(name)
14
+ parser = Parser.new(*args)
15
+ if parser.match?
16
+ @handler.process(parser)
18
17
  else
19
18
  super(*args)
20
19
  end
21
- end
22
-
23
- private
24
20
 
25
- def transform_callee_to_guid(guid) #museo_de_lima
26
- guid.upcase.gsub("_", "-")
27
21
  end
28
22
 
29
23
  end
@@ -0,0 +1,29 @@
1
+ require 'rimac'
2
+
3
+ module Chillon
4
+ class Handler
5
+
6
+ def initialize(token)
7
+ @access = Rimac::API.new(token)
8
+ end
9
+
10
+ def process(parser)
11
+
12
+ if parser.multiple_results?
13
+ results = Hash.new
14
+ parser.guids.map do |guid|
15
+ results[guid] = get_from_access(guid)
16
+ end
17
+ results
18
+ else
19
+ get_from_access(parser.guid)
20
+ end
21
+
22
+ end
23
+
24
+ def get_from_access(guid)
25
+ @access.get(guid)
26
+ end
27
+
28
+ end
29
+ end
@@ -0,0 +1,42 @@
1
+ module Chillon
2
+
3
+ class Parser
4
+
5
+ attr_accessor :guid, :guids
6
+
7
+ def initialize(args)
8
+ name, attrs = args
9
+
10
+ if name =~ /get_(.*)_and_(.*)/
11
+
12
+ callees = name.to_s.gsub("get_", "").split("_and_")
13
+ @guids = callees.map{|guid| transform_callee_to_guid(guid) }
14
+ puts @guids.inspect
15
+ elsif name =~ /get_(.*)/
16
+ callee = $1
17
+ @guid = transform_callee_to_guid(callee)
18
+ end
19
+
20
+ end
21
+
22
+ def match?
23
+ @guids || @guid
24
+ end
25
+
26
+ def multiple_results?
27
+ @guids
28
+ end
29
+
30
+ private
31
+
32
+ def transform_callee_to_guid(guid) #museo_de_lima
33
+ guid.upcase.gsub("_", "-")
34
+ end
35
+
36
+
37
+ end
38
+
39
+ end
40
+
41
+
42
+ # "LICEN-DE-FUNCI-2013"
@@ -1,3 +1,3 @@
1
1
  module Chillon
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chillon
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alvaro Pereyra
@@ -66,6 +66,8 @@ files:
66
66
  - Rakefile
67
67
  - chillon.gemspec
68
68
  - lib/chillon.rb
69
+ - lib/chillon/handler.rb
70
+ - lib/chillon/parser.rb
69
71
  - lib/chillon/version.rb
70
72
  homepage: https://github.com/xenda/chillon
71
73
  licenses: