likeno 0.0.1.rc
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 +9 -0
- data/.rspec +2 -0
- data/.ruby-gemset +1 -0
- data/.ruby-version +1 -0
- data/.travis.yml +4 -0
- data/Gemfile +4 -0
- data/README.md +36 -0
- data/Rakefile +6 -0
- data/bin/console +14 -0
- data/bin/setup +7 -0
- data/lib/errors/record_invalid.rb +19 -0
- data/lib/errors/record_not_found.rb +6 -0
- data/lib/errors/request_error.rb +11 -0
- data/lib/errors/standard.rb +6 -0
- data/lib/errors.rb +20 -0
- data/lib/helpers/aggregation_options.rb +25 -0
- data/lib/helpers/crud_request_parameters.rb +64 -0
- data/lib/helpers/date_attributes.rb +11 -0
- data/lib/helpers/hash_converters.rb +25 -0
- data/lib/helpers/range_methods.rb +14 -0
- data/lib/likeno/entity.rb +160 -0
- data/lib/likeno/request_methods.rb +53 -0
- data/lib/likeno/version.rb +3 -0
- data/lib/likeno.rb +29 -0
- data/likeno.gemspec +30 -0
- metadata +182 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 7ef9a80e1d55bc4f8beff12ce4374c3d82b504a8
|
4
|
+
data.tar.gz: ba88b1423ef0bf7d3bb3c500ff3a1719fa553dfc
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 8eddd05258a3aa3cb471167e702363acaabf4db0040951678ac1f2a17acd239bdf8834b0eb40327ae09cfa6674c4a0cb133037d1331b4d5cc8780e8452c06e3b
|
7
|
+
data.tar.gz: 2ffa02133f413f5286a695dd9c93057ef750a9fa0da9ab57b3a8c7adeef37f2c97da7e63cb145ae3d47bbed480302fb5ef0be45192dd550713f1bd28d3395c99
|
data/.gitignore
ADDED
data/.rspec
ADDED
data/.ruby-gemset
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
likeno
|
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
2.2.3
|
data/.travis.yml
ADDED
data/Gemfile
ADDED
data/README.md
ADDED
@@ -0,0 +1,36 @@
|
|
1
|
+
# Likeno
|
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/likeno`. 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 'likeno'
|
13
|
+
```
|
14
|
+
|
15
|
+
And then execute:
|
16
|
+
|
17
|
+
$ bundle
|
18
|
+
|
19
|
+
Or install it yourself as:
|
20
|
+
|
21
|
+
$ gem install likeno
|
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 `rake spec` to run the tests. You can also 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`, which will 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
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/likeno.
|
36
|
+
|
data/Rakefile
ADDED
data/bin/console
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require "bundler/setup"
|
4
|
+
require "likeno"
|
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
|
data/bin/setup
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
module Likeno
|
2
|
+
module Errors
|
3
|
+
class RecordInvalid < Standard
|
4
|
+
attr_reader :record
|
5
|
+
|
6
|
+
def initialize(record = nil)
|
7
|
+
if record
|
8
|
+
@record = record
|
9
|
+
errors = @record.likeno_errors.join(', ')
|
10
|
+
message = "Record invalid: #{errors}"
|
11
|
+
else
|
12
|
+
message = 'Record invalid'
|
13
|
+
end
|
14
|
+
|
15
|
+
super(message)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
data/lib/errors.rb
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
# This file is part of KalibroClient
|
2
|
+
# Copyright (C) 2013 it's respectives authors (please see the AUTHORS file)
|
3
|
+
#
|
4
|
+
# This program is free software: you can redistribute it and/or modify
|
5
|
+
# it under the terms of the GNU General Public License as published by
|
6
|
+
# the Free Software Foundation, either version 3 of the License, or
|
7
|
+
# (at your option) any later version.
|
8
|
+
#
|
9
|
+
# This program is distributed in the hope that it will be useful,
|
10
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
11
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
12
|
+
# GNU General Public License for more details.
|
13
|
+
|
14
|
+
# You should have received a copy of the GNU General Public License
|
15
|
+
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
16
|
+
|
17
|
+
require 'errors/standard'
|
18
|
+
require 'errors/request_error'
|
19
|
+
require 'errors/record_not_found'
|
20
|
+
require 'errors/record_invalid'
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# This file is part of KalibroClient
|
2
|
+
# Copyright (C) 2013 it's respectives authors (please see the AUTHORS file)
|
3
|
+
#
|
4
|
+
# This program is free software: you can redistribute it and/or modify
|
5
|
+
# it under the terms of the GNU General Public License as published by
|
6
|
+
# the Free Software Foundation, either version 3 of the License, or
|
7
|
+
# (at your option) any later version.
|
8
|
+
#
|
9
|
+
# This program is distributed in the hope that it will be useful,
|
10
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
11
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
12
|
+
# GNU General Public License for more details.
|
13
|
+
|
14
|
+
# You should have received a copy of the GNU General Public License
|
15
|
+
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
16
|
+
|
17
|
+
module AggregationOptions
|
18
|
+
#TODO: internationalization
|
19
|
+
def all_with_label
|
20
|
+
[
|
21
|
+
["Mean","mean"], ["Median", "MEDIAN"], ["Maximum", "max"], ["Minimum", "min"],
|
22
|
+
["Count", "COUNT"], ["Standard Deviation", "STANDARD_DEVIATION"]
|
23
|
+
]
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
# This file is part of KalibroClient
|
2
|
+
# Copyright (C) 2013 it's respectives authors (please see the AUTHORS file)
|
3
|
+
#
|
4
|
+
# This program is free software: you can redistribute it and/or modify
|
5
|
+
# it under the terms of the GNU General Public License as published by
|
6
|
+
# the Free Software Foundation, either version 3 of the License, or
|
7
|
+
# (at your option) any later version.
|
8
|
+
#
|
9
|
+
# This program is distributed in the hope that it will be useful,
|
10
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
11
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
12
|
+
# GNU General Public License for more details.
|
13
|
+
|
14
|
+
# You should have received a copy of the GNU General Public License
|
15
|
+
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
16
|
+
|
17
|
+
module CRUDRequestParameters
|
18
|
+
def save_params
|
19
|
+
{ instance_entity_name.underscore.to_sym => to_hash }
|
20
|
+
end
|
21
|
+
|
22
|
+
def save_action
|
23
|
+
''
|
24
|
+
end
|
25
|
+
|
26
|
+
def save_prefix
|
27
|
+
''
|
28
|
+
end
|
29
|
+
|
30
|
+
def destroy_action
|
31
|
+
':id'
|
32
|
+
end
|
33
|
+
alias_method :update_action, :destroy_action
|
34
|
+
|
35
|
+
def destroy_params
|
36
|
+
{ id: id }
|
37
|
+
end
|
38
|
+
|
39
|
+
def destroy_prefix
|
40
|
+
''
|
41
|
+
end
|
42
|
+
|
43
|
+
def update_params
|
44
|
+
{ instance_entity_name.underscore.to_sym => to_hash, :id => id }
|
45
|
+
end
|
46
|
+
|
47
|
+
def update_prefix
|
48
|
+
''
|
49
|
+
end
|
50
|
+
|
51
|
+
module ClassMethods
|
52
|
+
def exists_action
|
53
|
+
':id/exists'
|
54
|
+
end
|
55
|
+
|
56
|
+
def id_params(id)
|
57
|
+
{ id: id }
|
58
|
+
end
|
59
|
+
|
60
|
+
def find_action
|
61
|
+
':id'
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'date'
|
2
|
+
|
3
|
+
module HashConverters
|
4
|
+
def date_time_to_s(date)
|
5
|
+
milliseconds = '.' + (date.sec_fraction * 60 * 60 * 24 * 1000).to_s
|
6
|
+
date.to_s[0..18] + milliseconds + date.to_s[19..-1]
|
7
|
+
end
|
8
|
+
|
9
|
+
def convert_to_hash(value)
|
10
|
+
return value if value.nil?
|
11
|
+
return value.collect { |element| convert_to_hash(element) } if value.is_a? Array
|
12
|
+
return value.to_hash if value.is_a?(Likeno::Entity)
|
13
|
+
return date_time_to_s(value) if value.is_a? DateTime
|
14
|
+
return 'INF' if value.is_a?(Float) && value.infinite? == 1
|
15
|
+
return '-INF' if value.is_a?(Float) && value.infinite? == -1
|
16
|
+
value.to_s
|
17
|
+
end
|
18
|
+
|
19
|
+
def field_to_hash(field)
|
20
|
+
hash = {}
|
21
|
+
field_value = send(field)
|
22
|
+
hash[field] = convert_to_hash(field_value) unless field_value.nil?
|
23
|
+
hash
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
module RangeMethods
|
2
|
+
def range
|
3
|
+
@range ||= Range.new(Float(beginning), Float(self.end), exclude_end: true)
|
4
|
+
end
|
5
|
+
|
6
|
+
def beginning=(value)
|
7
|
+
@beginning = (value == "-INF") ? -Float::INFINITY : value
|
8
|
+
end
|
9
|
+
|
10
|
+
def end=(value)
|
11
|
+
@end = (value == "INF") ? Float::INFINITY : value
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
@@ -0,0 +1,160 @@
|
|
1
|
+
require 'active_support/inflector'
|
2
|
+
require 'faraday_middleware'
|
3
|
+
require 'errors'
|
4
|
+
require 'helpers/hash_converters'
|
5
|
+
require 'helpers/crud_request_parameters'
|
6
|
+
require 'likeno/request_methods'
|
7
|
+
|
8
|
+
module Likeno
|
9
|
+
class Entity
|
10
|
+
attr_accessor :likeno_errors, :persisted
|
11
|
+
|
12
|
+
def initialize(attributes = {}, persisted = false)
|
13
|
+
attributes.each { |field, value| send("#{field}=", value) if self.class.valid?(field) }
|
14
|
+
@likeno_errors = []
|
15
|
+
@persisted = persisted
|
16
|
+
end
|
17
|
+
|
18
|
+
def to_hash(options = {})
|
19
|
+
hash = {}
|
20
|
+
excepts = options[:except].nil? ? [] : options[:except]
|
21
|
+
excepts << 'likeno_errors'
|
22
|
+
excepts << 'persisted'
|
23
|
+
fields.each { |field| field_to_hash(field).merge!(hash) unless excepts.include? field }
|
24
|
+
hash
|
25
|
+
end
|
26
|
+
|
27
|
+
extend Likeno::RequestMethods
|
28
|
+
|
29
|
+
def self.to_object(value)
|
30
|
+
value.is_a?(Hash) ? new(value, true) : value
|
31
|
+
end
|
32
|
+
|
33
|
+
def self.to_objects_array(value)
|
34
|
+
array = value.is_a?(Array) ? value : [value]
|
35
|
+
array.map { |element| to_object element }
|
36
|
+
end
|
37
|
+
|
38
|
+
def save
|
39
|
+
if persisted?
|
40
|
+
update
|
41
|
+
else
|
42
|
+
without_request_error? do
|
43
|
+
response = self.class.request(save_action, save_params, :post, save_prefix)
|
44
|
+
|
45
|
+
self.id = response[instance_entity_name]["id"]
|
46
|
+
self.created_at = response[instance_entity_name]["created_at"] unless response[instance_entity_name]["created_at"].nil?
|
47
|
+
self.updated_at = response[instance_entity_name]["updated_at"] unless response[instance_entity_name]["updated_at"].nil?
|
48
|
+
@persisted = true
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
def save!
|
54
|
+
return true if save
|
55
|
+
raise Likeno::Errors::RecordInvalid.new(self)
|
56
|
+
end
|
57
|
+
|
58
|
+
def self.create(attributes = {})
|
59
|
+
new_model = new attributes
|
60
|
+
new_model.save
|
61
|
+
new_model
|
62
|
+
end
|
63
|
+
|
64
|
+
def update(attributes = {})
|
65
|
+
attributes.each { |field, value| send("#{field}=", value) if self.class.valid?(field) }
|
66
|
+
without_request_error? do
|
67
|
+
self.class.request(update_action, update_params, :put, update_prefix)
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
def ==(other)
|
72
|
+
return false unless self.class == other.class
|
73
|
+
variable_names.each do |name|
|
74
|
+
next if %w(created_at updated_at persisted).include? name
|
75
|
+
return false unless send("#{name}") == other.send("#{name}")
|
76
|
+
end
|
77
|
+
true
|
78
|
+
end
|
79
|
+
|
80
|
+
def self.exists?(id)
|
81
|
+
request(exists_action, id_params(id), :get)['exists']
|
82
|
+
end
|
83
|
+
|
84
|
+
def self.find(id)
|
85
|
+
response = request(find_action, id_params(id), :get)
|
86
|
+
new(response[entity_name], true)
|
87
|
+
end
|
88
|
+
|
89
|
+
def destroy
|
90
|
+
without_request_error? do
|
91
|
+
response = self.class.request(destroy_action, destroy_params, :delete, destroy_prefix)
|
92
|
+
@persisted = false
|
93
|
+
end
|
94
|
+
end
|
95
|
+
|
96
|
+
def self.create_objects_array_from_hash (response)
|
97
|
+
create_array_from_hash(response[entity_name.pluralize]).map { |hash| new(hash, true) }
|
98
|
+
end
|
99
|
+
|
100
|
+
def self.create_array_from_hash (response)
|
101
|
+
response = [] if response.nil?
|
102
|
+
response = [response] if response.is_a?(Hash)
|
103
|
+
response
|
104
|
+
end
|
105
|
+
|
106
|
+
alias_method :persisted?, :persisted
|
107
|
+
|
108
|
+
def instance_entity_name
|
109
|
+
self.class.entity_name
|
110
|
+
end
|
111
|
+
|
112
|
+
protected
|
113
|
+
|
114
|
+
def instance_variable_names
|
115
|
+
instance_variables.map { |var| var.to_s }
|
116
|
+
end
|
117
|
+
|
118
|
+
def fields
|
119
|
+
instance_variable_names.each.collect { |variable| variable.to_s.sub(/@/, '') }
|
120
|
+
end
|
121
|
+
|
122
|
+
def variable_names
|
123
|
+
instance_variable_names.each.collect { |variable| variable.to_s.sub(/@/, '') }
|
124
|
+
end
|
125
|
+
|
126
|
+
def self.valid?(field)
|
127
|
+
field.to_s[0] != '@' && (field =~ /attributes!/).nil? && (field.to_s =~ /errors/).nil?
|
128
|
+
end
|
129
|
+
|
130
|
+
include CRUDRequestParameters
|
131
|
+
extend CRUDRequestParameters::ClassMethods
|
132
|
+
|
133
|
+
def add_error(exception)
|
134
|
+
@likeno_errors << exception
|
135
|
+
end
|
136
|
+
|
137
|
+
def without_request_error?(&block)
|
138
|
+
block.call
|
139
|
+
true
|
140
|
+
rescue Likeno::Errors::RecordNotFound => error
|
141
|
+
raise error
|
142
|
+
rescue Likeno::Errors::RequestError => error
|
143
|
+
raise error if error.response.status.between?(500, 599)
|
144
|
+
|
145
|
+
response_errors = error.response.body['errors']
|
146
|
+
if response_errors.is_a?(Array)
|
147
|
+
response_errors.each { |error_msg| add_error(error_msg) }
|
148
|
+
elsif !response_errors.nil?
|
149
|
+
add_error response_errors
|
150
|
+
else
|
151
|
+
add_error error
|
152
|
+
end
|
153
|
+
|
154
|
+
false
|
155
|
+
end
|
156
|
+
|
157
|
+
include HashConverters
|
158
|
+
end
|
159
|
+
end
|
160
|
+
|
@@ -0,0 +1,53 @@
|
|
1
|
+
module Likeno
|
2
|
+
module RequestMethods
|
3
|
+
def request(action, params = {}, method = :post, prefix = '')
|
4
|
+
response = client.send(method) do |request|
|
5
|
+
url = "/#{endpoint}/#{action}".gsub(':id', params[:id].to_s)
|
6
|
+
url = "/#{prefix}#{url}" unless prefix.empty?
|
7
|
+
request.url url
|
8
|
+
request.body = params unless method == :get || params.empty?
|
9
|
+
request.options.timeout = 300
|
10
|
+
request.options.open_timeout = 300
|
11
|
+
end
|
12
|
+
|
13
|
+
if response.success?
|
14
|
+
response.body
|
15
|
+
elsif response.status == 404
|
16
|
+
raise Likeno::Errors::RecordNotFound.new(response: response)
|
17
|
+
else
|
18
|
+
raise Likeno::Errors::RequestError.new(response: response)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
def address
|
23
|
+
raise NotImplementedError
|
24
|
+
end
|
25
|
+
|
26
|
+
# TODO: probably the connection could be a class static variable.
|
27
|
+
def client
|
28
|
+
Faraday.new(url: address) do |conn|
|
29
|
+
conn.request :json
|
30
|
+
conn.response :json, content_type: /\bjson$/
|
31
|
+
conn.adapter Faraday.default_adapter # make requests with Net::HTTP
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
def endpoint
|
36
|
+
entity_name.pluralize
|
37
|
+
end
|
38
|
+
|
39
|
+
def module_name
|
40
|
+
raise NotImplementedError
|
41
|
+
end
|
42
|
+
|
43
|
+
def entity_name
|
44
|
+
# This loop is a generic way to make this work even when the children class has a different name
|
45
|
+
entity_class = self
|
46
|
+
until entity_class.name.include?("#{module_name}::")
|
47
|
+
entity_class = entity_class.superclass
|
48
|
+
end
|
49
|
+
|
50
|
+
entity_class.name.split('::').last.underscore.downcase
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
data/lib/likeno.rb
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
require 'yaml'
|
2
|
+
require 'logger'
|
3
|
+
require 'likeno/entity'
|
4
|
+
|
5
|
+
module Likeno
|
6
|
+
@config = {}
|
7
|
+
|
8
|
+
# Configure through hash
|
9
|
+
def self.configure(opts = {})
|
10
|
+
@config = Hash[opts.map { |name, address| [name.to_sym, address] }]
|
11
|
+
end
|
12
|
+
|
13
|
+
# Configure through yaml file
|
14
|
+
def self.configure_with(path_to_yaml_file)
|
15
|
+
begin
|
16
|
+
@config = Psych.load_file path_to_yaml_file
|
17
|
+
rescue Errno::ENOENT
|
18
|
+
raise Errno::ENOENT, "YAML configuration file couldn't be found."
|
19
|
+
rescue Psych::Exception
|
20
|
+
raise Psych::Exception, 'YAML configuration file contains invalid syntax.'
|
21
|
+
end
|
22
|
+
|
23
|
+
configure(@config)
|
24
|
+
end
|
25
|
+
|
26
|
+
def self.config
|
27
|
+
@config
|
28
|
+
end
|
29
|
+
end
|
data/likeno.gemspec
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'likeno/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = 'likeno'
|
8
|
+
spec.version = Likeno::VERSION
|
9
|
+
spec.authors = ['Heitor Reis', 'Diego de Araújo Martinez Camarinha', 'Rafael Reggiani Manzo']
|
10
|
+
spec.email = ['mezurometrics@gmail.com']
|
11
|
+
|
12
|
+
spec.summary = 'Symbiotic connection between organisms'
|
13
|
+
spec.description = 'Connects services through a RESTful API'
|
14
|
+
spec.homepage = 'https://github.com/mezuro/likeno'
|
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_development_dependency 'bundler', '~> 1.10'
|
22
|
+
spec.add_development_dependency 'rake', '~> 10.0'
|
23
|
+
spec.add_development_dependency 'rspec'
|
24
|
+
spec.add_development_dependency 'mocha'
|
25
|
+
spec.add_development_dependency 'factory_girl', '~> 4.5.0'
|
26
|
+
spec.add_development_dependency 'simplecov'
|
27
|
+
|
28
|
+
spec.add_dependency 'faraday_middleware'
|
29
|
+
spec.add_dependency 'activesupport', '>= 2.2.1'
|
30
|
+
end
|
metadata
ADDED
@@ -0,0 +1,182 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: likeno
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1.rc
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Heitor Reis
|
8
|
+
- Diego de Araújo Martinez Camarinha
|
9
|
+
- Rafael Reggiani Manzo
|
10
|
+
autorequire:
|
11
|
+
bindir: exe
|
12
|
+
cert_chain: []
|
13
|
+
date: 2016-01-18 00:00:00.000000000 Z
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: bundler
|
17
|
+
requirement: !ruby/object:Gem::Requirement
|
18
|
+
requirements:
|
19
|
+
- - "~>"
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '1.10'
|
22
|
+
type: :development
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
requirements:
|
26
|
+
- - "~>"
|
27
|
+
- !ruby/object:Gem::Version
|
28
|
+
version: '1.10'
|
29
|
+
- !ruby/object:Gem::Dependency
|
30
|
+
name: rake
|
31
|
+
requirement: !ruby/object:Gem::Requirement
|
32
|
+
requirements:
|
33
|
+
- - "~>"
|
34
|
+
- !ruby/object:Gem::Version
|
35
|
+
version: '10.0'
|
36
|
+
type: :development
|
37
|
+
prerelease: false
|
38
|
+
version_requirements: !ruby/object:Gem::Requirement
|
39
|
+
requirements:
|
40
|
+
- - "~>"
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: '10.0'
|
43
|
+
- !ruby/object:Gem::Dependency
|
44
|
+
name: rspec
|
45
|
+
requirement: !ruby/object:Gem::Requirement
|
46
|
+
requirements:
|
47
|
+
- - ">="
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: '0'
|
50
|
+
type: :development
|
51
|
+
prerelease: false
|
52
|
+
version_requirements: !ruby/object:Gem::Requirement
|
53
|
+
requirements:
|
54
|
+
- - ">="
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: '0'
|
57
|
+
- !ruby/object:Gem::Dependency
|
58
|
+
name: mocha
|
59
|
+
requirement: !ruby/object:Gem::Requirement
|
60
|
+
requirements:
|
61
|
+
- - ">="
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: '0'
|
64
|
+
type: :development
|
65
|
+
prerelease: false
|
66
|
+
version_requirements: !ruby/object:Gem::Requirement
|
67
|
+
requirements:
|
68
|
+
- - ">="
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
version: '0'
|
71
|
+
- !ruby/object:Gem::Dependency
|
72
|
+
name: factory_girl
|
73
|
+
requirement: !ruby/object:Gem::Requirement
|
74
|
+
requirements:
|
75
|
+
- - "~>"
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: 4.5.0
|
78
|
+
type: :development
|
79
|
+
prerelease: false
|
80
|
+
version_requirements: !ruby/object:Gem::Requirement
|
81
|
+
requirements:
|
82
|
+
- - "~>"
|
83
|
+
- !ruby/object:Gem::Version
|
84
|
+
version: 4.5.0
|
85
|
+
- !ruby/object:Gem::Dependency
|
86
|
+
name: simplecov
|
87
|
+
requirement: !ruby/object:Gem::Requirement
|
88
|
+
requirements:
|
89
|
+
- - ">="
|
90
|
+
- !ruby/object:Gem::Version
|
91
|
+
version: '0'
|
92
|
+
type: :development
|
93
|
+
prerelease: false
|
94
|
+
version_requirements: !ruby/object:Gem::Requirement
|
95
|
+
requirements:
|
96
|
+
- - ">="
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: '0'
|
99
|
+
- !ruby/object:Gem::Dependency
|
100
|
+
name: faraday_middleware
|
101
|
+
requirement: !ruby/object:Gem::Requirement
|
102
|
+
requirements:
|
103
|
+
- - ">="
|
104
|
+
- !ruby/object:Gem::Version
|
105
|
+
version: '0'
|
106
|
+
type: :runtime
|
107
|
+
prerelease: false
|
108
|
+
version_requirements: !ruby/object:Gem::Requirement
|
109
|
+
requirements:
|
110
|
+
- - ">="
|
111
|
+
- !ruby/object:Gem::Version
|
112
|
+
version: '0'
|
113
|
+
- !ruby/object:Gem::Dependency
|
114
|
+
name: activesupport
|
115
|
+
requirement: !ruby/object:Gem::Requirement
|
116
|
+
requirements:
|
117
|
+
- - ">="
|
118
|
+
- !ruby/object:Gem::Version
|
119
|
+
version: 2.2.1
|
120
|
+
type: :runtime
|
121
|
+
prerelease: false
|
122
|
+
version_requirements: !ruby/object:Gem::Requirement
|
123
|
+
requirements:
|
124
|
+
- - ">="
|
125
|
+
- !ruby/object:Gem::Version
|
126
|
+
version: 2.2.1
|
127
|
+
description: Connects services through a RESTful API
|
128
|
+
email:
|
129
|
+
- mezurometrics@gmail.com
|
130
|
+
executables: []
|
131
|
+
extensions: []
|
132
|
+
extra_rdoc_files: []
|
133
|
+
files:
|
134
|
+
- ".gitignore"
|
135
|
+
- ".rspec"
|
136
|
+
- ".ruby-gemset"
|
137
|
+
- ".ruby-version"
|
138
|
+
- ".travis.yml"
|
139
|
+
- Gemfile
|
140
|
+
- README.md
|
141
|
+
- Rakefile
|
142
|
+
- bin/console
|
143
|
+
- bin/setup
|
144
|
+
- lib/errors.rb
|
145
|
+
- lib/errors/record_invalid.rb
|
146
|
+
- lib/errors/record_not_found.rb
|
147
|
+
- lib/errors/request_error.rb
|
148
|
+
- lib/errors/standard.rb
|
149
|
+
- lib/helpers/aggregation_options.rb
|
150
|
+
- lib/helpers/crud_request_parameters.rb
|
151
|
+
- lib/helpers/date_attributes.rb
|
152
|
+
- lib/helpers/hash_converters.rb
|
153
|
+
- lib/helpers/range_methods.rb
|
154
|
+
- lib/likeno.rb
|
155
|
+
- lib/likeno/entity.rb
|
156
|
+
- lib/likeno/request_methods.rb
|
157
|
+
- lib/likeno/version.rb
|
158
|
+
- likeno.gemspec
|
159
|
+
homepage: https://github.com/mezuro/likeno
|
160
|
+
licenses: []
|
161
|
+
metadata: {}
|
162
|
+
post_install_message:
|
163
|
+
rdoc_options: []
|
164
|
+
require_paths:
|
165
|
+
- lib
|
166
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
167
|
+
requirements:
|
168
|
+
- - ">="
|
169
|
+
- !ruby/object:Gem::Version
|
170
|
+
version: '0'
|
171
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
172
|
+
requirements:
|
173
|
+
- - ">"
|
174
|
+
- !ruby/object:Gem::Version
|
175
|
+
version: 1.3.1
|
176
|
+
requirements: []
|
177
|
+
rubyforge_project:
|
178
|
+
rubygems_version: 2.4.8
|
179
|
+
signing_key:
|
180
|
+
specification_version: 4
|
181
|
+
summary: Symbiotic connection between organisms
|
182
|
+
test_files: []
|