tortilla 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.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/lib/tortilla.rb +69 -0
  3. metadata +72 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 0967ffe2085921a53ec9f9a70e17255924fce503
4
+ data.tar.gz: 57b2c6bd22f159f4a9035cdd60baf09dca082dfd
5
+ SHA512:
6
+ metadata.gz: 363f0a32cea0159ab19254de815beacdc40b282558310c0baa1f76a9d93570b2fd9703857bbc23993ada0612b4795250d7a577f3ef50e64f99abb56efebf10d1
7
+ data.tar.gz: ed306a614fcbaf5a97c6714dd916552d522dbdd825fabeedd74489a53a7ee60df615b659e8974021a829db2d3a824f76240ebe359c949e4a3bc81512d6232c42
@@ -0,0 +1,69 @@
1
+ require 'httparty'
2
+ require 'json'
3
+
4
+ module Tortilla
5
+ class RequestBuilder
6
+ attr_accessor :url
7
+ attr_accessor :headers
8
+ attr_accessor :response_parser
9
+
10
+ def initialize
11
+ @url = ""
12
+ @headers = {}
13
+ @response_parser = nil
14
+ end
15
+
16
+ def method_missing(meth,*args,&block)
17
+ @url = @url+"/"+meth.to_s
18
+
19
+ if(!args.first.nil? && !args.nil?)
20
+ @url+"/"+args.first
21
+ end
22
+
23
+ return self
24
+ end
25
+
26
+ def get(*args)
27
+ puts @url
28
+ response = HTTParty.get(@url)
29
+ if(!@response_parser.nil?)
30
+ parsed = @response_parser.call(response)
31
+ else
32
+ parsed = JSON.parse(response.body)
33
+ end
34
+
35
+ return parsed
36
+ end
37
+ end
38
+
39
+ class ApiWrapper
40
+ def initialize(domain)
41
+ @domain = domain
42
+ @request = RequestBuilder.new
43
+ end
44
+
45
+ def
46
+
47
+ def headers
48
+ return @request.headers
49
+ end
50
+
51
+ def method_missing(meth,*args,&block)
52
+ @request.url= @domain+"/"+meth.to_s
53
+
54
+ if(!args.first.nil? && !args.nil?)
55
+ @request.url = @request.url+"/"+args.first
56
+ end
57
+
58
+ return @request
59
+ end
60
+
61
+ def on_response(&block)
62
+ @request.response_parser = block
63
+ end
64
+ end
65
+
66
+ def self.wrap(domain)
67
+ return Tortilla::ApiWrapper.new(domain)
68
+ end
69
+ end
metadata ADDED
@@ -0,0 +1,72 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: tortilla
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Bram Vandenbogaerde
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-12-07 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: httparty
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '0.13'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '0.13'
27
+ - !ruby/object:Gem::Dependency
28
+ name: json
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.8'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.8'
41
+ description: Wrapping web APIs made easy. Ruby port of the Tortilla Python project.
42
+ email: contact@bramvdb.com
43
+ executables: []
44
+ extensions: []
45
+ extra_rdoc_files: []
46
+ files:
47
+ - lib/tortilla.rb
48
+ homepage: http://github.com/bramvdbogaerde/tortilla.rb
49
+ licenses:
50
+ - MIT
51
+ metadata: {}
52
+ post_install_message:
53
+ rdoc_options: []
54
+ require_paths:
55
+ - lib
56
+ required_ruby_version: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
61
+ required_rubygems_version: !ruby/object:Gem::Requirement
62
+ requirements:
63
+ - - ">="
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ requirements: []
67
+ rubyforge_project:
68
+ rubygems_version: 2.3.0
69
+ signing_key:
70
+ specification_version: 4
71
+ summary: Wrapping web APIs made easy.
72
+ test_files: []