restio 0.1.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/.gitignore +10 -0
- data/.ruby-gemset +1 -0
- data/.ruby-version +1 -0
- data/.travis.yml +3 -0
- data/Gemfile +4 -0
- data/README.md +39 -0
- data/Rakefile +2 -0
- data/bin/console +6 -0
- data/bin/setup +7 -0
- data/lib/restio.rb +11 -0
- data/lib/restio/action.rb +2 -0
- data/lib/restio/action/collection.rb +11 -0
- data/lib/restio/action/resource.rb +9 -0
- data/lib/restio/config.rb +14 -0
- data/lib/restio/connector.rb +2 -0
- data/lib/restio/connector/collection.rb +51 -0
- data/lib/restio/connector/generic.rb +55 -0
- data/lib/restio/connector/resource.rb +88 -0
- data/lib/restio/core_ext/object.rb +18 -0
- data/lib/restio/extension.rb +5 -0
- data/lib/restio/extension/attribute.rb +12 -0
- data/lib/restio/extension/builder.rb +13 -0
- data/lib/restio/extension/callback.rb +9 -0
- data/lib/restio/extension/caster.rb +9 -0
- data/lib/restio/extension/identifier.rb +10 -0
- data/lib/restio/util/callback.rb +30 -0
- data/lib/restio/util/caster.rb +11 -0
- data/lib/restio/util/caster/default.rb +24 -0
- data/lib/restio/util/caster/generic.rb +14 -0
- data/lib/restio/util/header.rb +15 -0
- data/lib/restio/util/identifier.rb +7 -0
- data/lib/restio/util/url.rb +26 -0
- data/lib/restio/version.rb +3 -0
- data/restio.gemspec +28 -0
- metadata +162 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 1bac9514467bdc135a3497e797e1c3e98e5eeebd
|
4
|
+
data.tar.gz: 63e7a072a1b276f14c099d3152a2e7d707da793e
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: f70e4502dbade720c4dc026ab7679539893f8f0a66026d843fa30654a1a5b9cec8f77bb4f9b71446954735b05b5eca53e1361d8c962e5b9d43358f9a5840fa9c
|
7
|
+
data.tar.gz: 344d48505519d371c1d6eaf0410fa786d33ebd503ae035976e1f4b87c5f626c1247abdb8b6c08177a323b572a7c41d744945e712ad4138df09e4fce0286444b5
|
data/.gitignore
ADDED
data/.ruby-gemset
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
restio
|
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
ruby-2.2.1
|
data/.travis.yml
ADDED
data/Gemfile
ADDED
data/README.md
ADDED
@@ -0,0 +1,39 @@
|
|
1
|
+
# Restio
|
2
|
+
|
3
|
+
Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/restio`. To experiment with that code, run `bin/console` for an interactive prompt.
|
4
|
+
|
5
|
+
TODO: Delete this and the text above, and describe your gem
|
6
|
+
|
7
|
+
## Installation
|
8
|
+
|
9
|
+
Add this line to your application's Gemfile:
|
10
|
+
|
11
|
+
```ruby
|
12
|
+
gem 'restio'
|
13
|
+
```
|
14
|
+
|
15
|
+
And then execute:
|
16
|
+
|
17
|
+
$ bundle
|
18
|
+
|
19
|
+
Or install it yourself as:
|
20
|
+
|
21
|
+
$ gem install restio
|
22
|
+
|
23
|
+
## Usage
|
24
|
+
|
25
|
+
TODO: Write usage instructions here
|
26
|
+
|
27
|
+
## Development
|
28
|
+
|
29
|
+
After checking out the repo, run `bin/setup` to install dependencies. Then, run `bin/console` for an interactive prompt that will allow you to experiment.
|
30
|
+
|
31
|
+
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release` to create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
|
32
|
+
|
33
|
+
## Contributing
|
34
|
+
|
35
|
+
1. Fork it ( https://github.com/[my-github-username]/restio/fork )
|
36
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
37
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
38
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
39
|
+
5. Create a new Pull Request
|
data/Rakefile
ADDED
data/bin/console
ADDED
data/bin/setup
ADDED
data/lib/restio.rb
ADDED
@@ -0,0 +1,51 @@
|
|
1
|
+
require "restio/connector/generic"
|
2
|
+
|
3
|
+
module Restio
|
4
|
+
module Connector
|
5
|
+
class Collection < Generic
|
6
|
+
attr_accessor :identifier
|
7
|
+
attr_reader :attributes
|
8
|
+
def initialize klass, params={}
|
9
|
+
@klass = klass
|
10
|
+
@attributes = []
|
11
|
+
@type = :collection
|
12
|
+
end
|
13
|
+
def add_attribute name
|
14
|
+
@attributes << name
|
15
|
+
@klass.send(:attr_accessor,name)
|
16
|
+
end
|
17
|
+
def build_instance response
|
18
|
+
return unless processable response
|
19
|
+
self.new_from_rest response.body
|
20
|
+
end
|
21
|
+
def build_instance_list response
|
22
|
+
return unless processable response
|
23
|
+
unwrap(response.body).collect do |resource_attributes|
|
24
|
+
@klass.new_from_rest resource_attributes
|
25
|
+
end
|
26
|
+
end
|
27
|
+
def first
|
28
|
+
list.first
|
29
|
+
end
|
30
|
+
def last
|
31
|
+
list.last
|
32
|
+
end
|
33
|
+
def list
|
34
|
+
build_instance_list Unirest.get url,
|
35
|
+
headers: headers
|
36
|
+
end
|
37
|
+
def read id
|
38
|
+
result = @klass.new
|
39
|
+
result.send("#{identifier}=",id)
|
40
|
+
result.rest.read
|
41
|
+
result
|
42
|
+
end
|
43
|
+
def delete id
|
44
|
+
result = @klass.new
|
45
|
+
result.send(result.rest.id,id)
|
46
|
+
result.rest.delete
|
47
|
+
result
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
require "active_support/core_ext/string/inflections"
|
2
|
+
require "restio/util/url"
|
3
|
+
require "restio/util/header"
|
4
|
+
require "unirest"
|
5
|
+
require "restio/util/callback"
|
6
|
+
|
7
|
+
module Restio
|
8
|
+
module Connector
|
9
|
+
class Generic
|
10
|
+
include Restio::Util::Url
|
11
|
+
include Restio::Util::Header
|
12
|
+
include Restio::Util::Callback
|
13
|
+
attr_accessor :wrapped, :use_backend_attributes
|
14
|
+
attr_reader :type
|
15
|
+
def processable response
|
16
|
+
(200..299).include? response.code
|
17
|
+
end
|
18
|
+
def empty response
|
19
|
+
response.code == 204
|
20
|
+
end
|
21
|
+
def resource_name
|
22
|
+
@klass.name.underscore.split('/').last.singularize.to_s
|
23
|
+
end
|
24
|
+
def collection_name
|
25
|
+
@klass.name.underscore.split('/').last.pluralize.to_s
|
26
|
+
end
|
27
|
+
def name
|
28
|
+
case type
|
29
|
+
when :collection then collection_name
|
30
|
+
when :resource then resource_name
|
31
|
+
end
|
32
|
+
end
|
33
|
+
def caster= caster
|
34
|
+
@caster_klass = "Restio::Util::Caster::#{caster.to_s.classify}"
|
35
|
+
@update_caster = true
|
36
|
+
end
|
37
|
+
def caster
|
38
|
+
return @caster if @caster and not @update_caster
|
39
|
+
@update_caster = false
|
40
|
+
@caster_klass ||= "Restio::Util::Caster::Default"
|
41
|
+
require @caster_klass.underscore
|
42
|
+
@caster = @caster_klass.constantize.new
|
43
|
+
end
|
44
|
+
def cast value
|
45
|
+
caster.cast value
|
46
|
+
end
|
47
|
+
def unwrap params={}
|
48
|
+
wrapped ? params[name] : params
|
49
|
+
end
|
50
|
+
def wrap params
|
51
|
+
wrapped ? { name => params } : params
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
@@ -0,0 +1,88 @@
|
|
1
|
+
require "restio/connector/generic"
|
2
|
+
require "restio/util/identifier"
|
3
|
+
|
4
|
+
module Restio
|
5
|
+
module Connector
|
6
|
+
class Resource < Generic
|
7
|
+
include Restio::Util::Identifier
|
8
|
+
def initialize instance, params={}
|
9
|
+
@instance = instance
|
10
|
+
@type = :resource
|
11
|
+
@klass = instance.class
|
12
|
+
end
|
13
|
+
def identifier
|
14
|
+
@instance.send @klass.rest.identifier
|
15
|
+
end
|
16
|
+
def attributes
|
17
|
+
@klass.rest.attributes
|
18
|
+
end
|
19
|
+
def wrapped
|
20
|
+
@klass.rest.wrapped
|
21
|
+
end
|
22
|
+
def value_of name
|
23
|
+
@instance.instance_variable_get "@#{name}"
|
24
|
+
end
|
25
|
+
def register_attribute name
|
26
|
+
return false unless @klass.rest.use_backend_attributes
|
27
|
+
@klass.rest.add_attribute name.to_sym
|
28
|
+
true
|
29
|
+
end
|
30
|
+
def set_value name, value
|
31
|
+
value = cast(value)
|
32
|
+
register_attribute(name) ?
|
33
|
+
@instance.send("#{name}=", value) :
|
34
|
+
@instance.instance_variable_set("@#{name}", value)
|
35
|
+
end
|
36
|
+
def parameters
|
37
|
+
result = attributes.collect do |name|
|
38
|
+
[name,value_of(name)]
|
39
|
+
end.to_h
|
40
|
+
wrap result
|
41
|
+
end
|
42
|
+
def update_instance response
|
43
|
+
return unless processable response
|
44
|
+
unwrap(response.body).each do |name,value|
|
45
|
+
set_value name, value
|
46
|
+
end unless empty response
|
47
|
+
@instance
|
48
|
+
end
|
49
|
+
def delete_instance response
|
50
|
+
return true if processable response
|
51
|
+
false
|
52
|
+
end
|
53
|
+
def create
|
54
|
+
run_callbacks :before, __method__
|
55
|
+
update_instance Unirest.post @klass.rest.url,
|
56
|
+
headers: headers,
|
57
|
+
parameters: parameters
|
58
|
+
run_callbacks :after, __method__
|
59
|
+
end
|
60
|
+
def read
|
61
|
+
run_callbacks :before, __method__
|
62
|
+
update_instance Unirest.get url,
|
63
|
+
headers: headers
|
64
|
+
run_callbacks :after, __method__
|
65
|
+
end
|
66
|
+
def update
|
67
|
+
run_callbacks :before, __method__
|
68
|
+
update_instance Unirest.put url,
|
69
|
+
headers: headers,
|
70
|
+
parameters: parameters
|
71
|
+
run_callbacks :after, __method__
|
72
|
+
end
|
73
|
+
def delete
|
74
|
+
run_callbacks :before, __method__
|
75
|
+
delete_instance Unirest.delete url,
|
76
|
+
headers: headers
|
77
|
+
run_callbacks :after, __method__
|
78
|
+
end
|
79
|
+
def with_attributes &block
|
80
|
+
run_callbacks :before, __method__
|
81
|
+
@klass.rest.attributes.each do |name|
|
82
|
+
yield(name,@instance.send(name))
|
83
|
+
end
|
84
|
+
run_callbacks :after, __method__
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require "restio/action"
|
2
|
+
require "restio/extension"
|
3
|
+
|
4
|
+
class Object
|
5
|
+
def self.restful id: :id, wrapped:false, use_backend_attributes: false
|
6
|
+
extend Restio::Extension::Identifier
|
7
|
+
extend Restio::Extension::Attribute
|
8
|
+
extend Restio::Extension::Builder
|
9
|
+
extend Restio::Extension::Caster
|
10
|
+
extend Restio::Extension::Callback
|
11
|
+
extend Restio::Action::Collection
|
12
|
+
include Restio::Action::Resource
|
13
|
+
self.send(:attr_accessor,id)
|
14
|
+
rest.identifier = id
|
15
|
+
rest.wrapped = wrapped
|
16
|
+
rest.use_backend_attributes = use_backend_attributes
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module Restio
|
2
|
+
module Util
|
3
|
+
module Callback
|
4
|
+
attr_reader :callbacks
|
5
|
+
def register_callback stage, action, method_or_block
|
6
|
+
@callbacks ||= {}
|
7
|
+
@callbacks[action] ||= {}
|
8
|
+
@callbacks[action][stage] ||= []
|
9
|
+
@callbacks[action][stage] << method_or_block
|
10
|
+
end
|
11
|
+
def run_callbacks stage, action
|
12
|
+
get_callbacks(action,stage).each do |cb|
|
13
|
+
if cb.is_a? Symbol
|
14
|
+
case @type
|
15
|
+
when :collection then @klass.send(cb)
|
16
|
+
when :resource then @instance.send(cb)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
private
|
22
|
+
def get_callbacks action, stage
|
23
|
+
cbs = []
|
24
|
+
(cbs += @callbacks[action][stage]) rescue nil
|
25
|
+
(cbs += @klass.rest.callbacks[action][stage]) rescue nil
|
26
|
+
cbs
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require "restio/util/caster/generic"
|
2
|
+
require "uuidtools"
|
3
|
+
|
4
|
+
module Restio
|
5
|
+
module Util
|
6
|
+
module Caster
|
7
|
+
class Default < Generic
|
8
|
+
RE_FLOAT = /^[0-9]+\.[0-9]+$/
|
9
|
+
RE_INT = /^[0-9]+$/
|
10
|
+
RE_UUID = /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/
|
11
|
+
def map value
|
12
|
+
return value if value.nil?
|
13
|
+
return value unless value.is_a? String
|
14
|
+
return true if value == "true"
|
15
|
+
return false if value == "false"
|
16
|
+
return value.to_i if value.match(RE_INT)
|
17
|
+
return value.to_f if value.match(RE_FLOAT)
|
18
|
+
return UUIDTools::UUID.parse(value) if value.match(RE_UUID)
|
19
|
+
nil
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module Restio
|
2
|
+
module Util
|
3
|
+
module Header
|
4
|
+
def add_header name, value
|
5
|
+
@headers ||= {}
|
6
|
+
@headers[name] = value
|
7
|
+
end
|
8
|
+
def headers
|
9
|
+
@headers ||= {}
|
10
|
+
return @headers if self.class.name == 'Restio::Config'
|
11
|
+
@headers.merge(Restio.config.headers)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
require "pathname"
|
2
|
+
require "active_support/core_ext/string/inflections"
|
3
|
+
|
4
|
+
module Restio
|
5
|
+
module Util
|
6
|
+
module Url
|
7
|
+
class << self
|
8
|
+
attr_writer :url
|
9
|
+
def url
|
10
|
+
Pathname.new (@url || 'http://example.com')
|
11
|
+
end
|
12
|
+
end
|
13
|
+
attr_accessor :base_url
|
14
|
+
def url
|
15
|
+
case type
|
16
|
+
when :collection
|
17
|
+
base_url ||= Restio.config.url
|
18
|
+
base_url = Pathname.new(base_url) if base_url
|
19
|
+
base_url.join(@klass.rest.name).to_s
|
20
|
+
when :resource
|
21
|
+
Pathname.new(@klass.rest.url).join(identifier.to_s).to_s
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
data/restio.gemspec
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'restio/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "restio"
|
8
|
+
spec.version = Restio::VERSION
|
9
|
+
spec.authors = ["Mathias Kaufmann"]
|
10
|
+
spec.email = ["me@stei.gr"]
|
11
|
+
|
12
|
+
spec.summary = %q{Adding restful interface to Ruby-Objects.}
|
13
|
+
spec.description = %q{Adding restful interface to Ruby-Objects. Each Object is extended by a .rest-Member which handles communication to any RESTful Web API.}
|
14
|
+
spec.homepage = "https://restio.stei.gr/"
|
15
|
+
|
16
|
+
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
17
|
+
spec.bindir = "exe"
|
18
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
19
|
+
spec.require_paths = ["lib"]
|
20
|
+
|
21
|
+
spec.add_dependency "unirest", "~> 1.1"
|
22
|
+
spec.add_dependency "activesupport", ">= 2.2.1"
|
23
|
+
spec.add_dependency "uuidtools", "~> 2.1"
|
24
|
+
|
25
|
+
spec.add_development_dependency "bundler", "~> 1.8"
|
26
|
+
spec.add_development_dependency "rake", "~> 10.0"
|
27
|
+
spec.add_development_dependency "pry"
|
28
|
+
end
|
metadata
ADDED
@@ -0,0 +1,162 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: restio
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Mathias Kaufmann
|
8
|
+
autorequire:
|
9
|
+
bindir: exe
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-04-13 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: unirest
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.1'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.1'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: activesupport
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 2.2.1
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 2.2.1
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: uuidtools
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '2.1'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '2.1'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: bundler
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '1.8'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '1.8'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rake
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '10.0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '10.0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: pry
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
description: Adding restful interface to Ruby-Objects. Each Object is extended by
|
98
|
+
a .rest-Member which handles communication to any RESTful Web API.
|
99
|
+
email:
|
100
|
+
- me@stei.gr
|
101
|
+
executables: []
|
102
|
+
extensions: []
|
103
|
+
extra_rdoc_files: []
|
104
|
+
files:
|
105
|
+
- ".gitignore"
|
106
|
+
- ".ruby-gemset"
|
107
|
+
- ".ruby-version"
|
108
|
+
- ".travis.yml"
|
109
|
+
- Gemfile
|
110
|
+
- README.md
|
111
|
+
- Rakefile
|
112
|
+
- bin/console
|
113
|
+
- bin/setup
|
114
|
+
- lib/restio.rb
|
115
|
+
- lib/restio/action.rb
|
116
|
+
- lib/restio/action/collection.rb
|
117
|
+
- lib/restio/action/resource.rb
|
118
|
+
- lib/restio/config.rb
|
119
|
+
- lib/restio/connector.rb
|
120
|
+
- lib/restio/connector/collection.rb
|
121
|
+
- lib/restio/connector/generic.rb
|
122
|
+
- lib/restio/connector/resource.rb
|
123
|
+
- lib/restio/core_ext/object.rb
|
124
|
+
- lib/restio/extension.rb
|
125
|
+
- lib/restio/extension/attribute.rb
|
126
|
+
- lib/restio/extension/builder.rb
|
127
|
+
- lib/restio/extension/callback.rb
|
128
|
+
- lib/restio/extension/caster.rb
|
129
|
+
- lib/restio/extension/identifier.rb
|
130
|
+
- lib/restio/util/callback.rb
|
131
|
+
- lib/restio/util/caster.rb
|
132
|
+
- lib/restio/util/caster/default.rb
|
133
|
+
- lib/restio/util/caster/generic.rb
|
134
|
+
- lib/restio/util/header.rb
|
135
|
+
- lib/restio/util/identifier.rb
|
136
|
+
- lib/restio/util/url.rb
|
137
|
+
- lib/restio/version.rb
|
138
|
+
- restio.gemspec
|
139
|
+
homepage: https://restio.stei.gr/
|
140
|
+
licenses: []
|
141
|
+
metadata: {}
|
142
|
+
post_install_message:
|
143
|
+
rdoc_options: []
|
144
|
+
require_paths:
|
145
|
+
- lib
|
146
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
147
|
+
requirements:
|
148
|
+
- - ">="
|
149
|
+
- !ruby/object:Gem::Version
|
150
|
+
version: '0'
|
151
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
152
|
+
requirements:
|
153
|
+
- - ">="
|
154
|
+
- !ruby/object:Gem::Version
|
155
|
+
version: '0'
|
156
|
+
requirements: []
|
157
|
+
rubyforge_project:
|
158
|
+
rubygems_version: 2.4.6
|
159
|
+
signing_key:
|
160
|
+
specification_version: 4
|
161
|
+
summary: Adding restful interface to Ruby-Objects.
|
162
|
+
test_files: []
|