data_guru 0.3.0 → 0.4.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 +4 -4
- data/README.md +5 -0
- data/circle.yml +6 -0
- data/data_guru.gemspec +1 -0
- data/lib/data_guru.rb +9 -11
- data/lib/data_guru/client.rb +12 -12
- data/lib/data_guru/collection.rb +2 -10
- data/lib/data_guru/configuration.rb +3 -3
- data/lib/data_guru/validation.rb +2 -10
- data/lib/data_guru/version.rb +1 -1
- metadata +17 -3
- data/.travis.yml +0 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 596c654f0a314f25642dcec4f6215855fb162f2e
|
4
|
+
data.tar.gz: 9e7b366fcb502b7d1d52ca89dcc63695e9af047b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1bb1d3def03cf3d6e0815e010b54616a414221f07a170a81f12c22478ca7534edef2923cd63f405d7c3a681598beeb858b47cba1b837ca9fee794eb4f302b5ad
|
7
|
+
data.tar.gz: b50f495835e174e425b8e4c6ec50f6e92ac83f9edc13276467b8d7dca686cae0bc4e8aa7c4eeb8a65df47c76aeecc0221fd8ca657b4a361927f2f774f144a568
|
data/README.md
CHANGED
@@ -1,5 +1,10 @@
|
|
1
1
|
# DataGuru
|
2
2
|
|
3
|
+
[](https://rubygems.org/gems/data_guru)
|
4
|
+
[](https://circleci.com/gh/netguru/data_guru)
|
5
|
+
[](https://codeclimate.com/github/netguru/data_guru)
|
6
|
+
[](https://codeclimate.com/github/netguru/data_guru)
|
7
|
+
|
3
8
|
Manage configuration stored as JSON data in DataGuru-API server.
|
4
9
|
|
5
10
|
## Installation
|
data/circle.yml
ADDED
data/data_guru.gemspec
CHANGED
@@ -22,6 +22,7 @@ Gem::Specification.new do |spec|
|
|
22
22
|
spec.add_dependency "httparty"
|
23
23
|
|
24
24
|
spec.add_development_dependency "bundler", "~> 1.10"
|
25
|
+
spec.add_development_dependency "codeclimate-test-reporter"
|
25
26
|
spec.add_development_dependency "pry"
|
26
27
|
spec.add_development_dependency "rake", "~> 10.0"
|
27
28
|
spec.add_development_dependency "rspec"
|
data/lib/data_guru.rb
CHANGED
@@ -7,25 +7,23 @@ require "data_guru/validations/configuration"
|
|
7
7
|
require "data_guru/validations/model_configuration"
|
8
8
|
|
9
9
|
require "data_guru/collection"
|
10
|
-
|
11
10
|
require "data_guru/model"
|
12
|
-
|
13
11
|
require "data_guru/client"
|
14
12
|
|
15
13
|
module DataGuru
|
16
14
|
class << self
|
17
15
|
attr_accessor :config
|
18
|
-
end
|
19
16
|
|
20
|
-
|
21
|
-
|
22
|
-
|
17
|
+
def config
|
18
|
+
@config ||= Configuration.new
|
19
|
+
end
|
23
20
|
|
24
|
-
|
25
|
-
|
26
|
-
|
21
|
+
def configure
|
22
|
+
yield(config)
|
23
|
+
end
|
27
24
|
|
28
|
-
|
29
|
-
|
25
|
+
def reset
|
26
|
+
@config = Configuration.new
|
27
|
+
end
|
30
28
|
end
|
31
29
|
end
|
data/lib/data_guru/client.rb
CHANGED
@@ -3,6 +3,13 @@ module DataGuru
|
|
3
3
|
require 'httparty'
|
4
4
|
require 'active_support/core_ext/string'
|
5
5
|
|
6
|
+
def initialize(api_url: nil, access_token: nil)
|
7
|
+
if api_url.present? && access_token.present?
|
8
|
+
DataGuru.config = Configuration.new(api_url: api_url,
|
9
|
+
access_token: access_token)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
6
13
|
def method_missing(name)
|
7
14
|
create_model_class(name) if should_create_class?(name)
|
8
15
|
value = DataGuru::Collection.new(collection_name: name, model: model(name))
|
@@ -21,7 +28,7 @@ module DataGuru
|
|
21
28
|
private
|
22
29
|
|
23
30
|
def should_create_class?(name)
|
24
|
-
name_exists?(name) && !class_exists?(class_name(name))
|
31
|
+
name_exists?(name) && !class_exists?("DataGuru::#{class_name(name)}")
|
25
32
|
end
|
26
33
|
|
27
34
|
def create_model_class(name)
|
@@ -56,26 +63,19 @@ module DataGuru
|
|
56
63
|
|
57
64
|
def wipe_collections_cache
|
58
65
|
collection_names.each { |name| instance_variable_set("@#{name}", nil) }
|
59
|
-
|
60
|
-
|
61
|
-
def access_token
|
62
|
-
DataGuru.config.access_token
|
63
|
-
end
|
64
|
-
|
65
|
-
def api_url
|
66
|
-
DataGuru.config.api_url
|
66
|
+
instance_variable_set("@collection_names", nil)
|
67
67
|
end
|
68
68
|
|
69
69
|
def refresh_data_url
|
70
|
-
"#{api_url}/refresh?token=#{access_token}"
|
70
|
+
"#{DataGuru.config.api_url}/refresh?token=#{DataGuru.config.access_token}"
|
71
71
|
end
|
72
72
|
|
73
73
|
def collection_names
|
74
|
-
HTTParty.get(collection_names_url)
|
74
|
+
@collection_names ||= HTTParty.get(collection_names_url)
|
75
75
|
end
|
76
76
|
|
77
77
|
def collection_names_url
|
78
|
-
"#{api_url}/?token=#{access_token}"
|
78
|
+
"#{DataGuru.config.api_url}/?token=#{DataGuru.config.access_token}"
|
79
79
|
end
|
80
80
|
end
|
81
81
|
end
|
data/lib/data_guru/collection.rb
CHANGED
@@ -31,20 +31,12 @@ module DataGuru
|
|
31
31
|
end
|
32
32
|
end
|
33
33
|
|
34
|
-
def access_token
|
35
|
-
DataGuru.config.access_token
|
36
|
-
end
|
37
|
-
|
38
|
-
def api_url
|
39
|
-
DataGuru.config.api_url
|
40
|
-
end
|
41
|
-
|
42
34
|
def collection_resource_url(collection_type)
|
43
|
-
"#{api_url}/#{collection_type}?token=#{access_token}"
|
35
|
+
"#{DataGuru.config.api_url}/#{collection_type}?token=#{DataGuru.config.access_token}"
|
44
36
|
end
|
45
37
|
|
46
38
|
def config_resource_url
|
47
|
-
"#{api_url}/config?token=#{access_token}"
|
39
|
+
"#{DataGuru.config.api_url}/config?token=#{DataGuru.config.access_token}"
|
48
40
|
end
|
49
41
|
|
50
42
|
def config_data
|
data/lib/data_guru/validation.rb
CHANGED
@@ -21,15 +21,7 @@ module DataGuru
|
|
21
21
|
end
|
22
22
|
|
23
23
|
def config_resource_url
|
24
|
-
"#{api_url}/config?token=#{access_token}"
|
25
|
-
end
|
26
|
-
|
27
|
-
def api_url
|
28
|
-
DataGuru.config.api_url
|
29
|
-
end
|
30
|
-
|
31
|
-
def access_token
|
32
|
-
DataGuru.config.access_token
|
24
|
+
"#{DataGuru.config.api_url}/config?token=#{DataGuru.config.access_token}"
|
33
25
|
end
|
34
26
|
|
35
27
|
def keys
|
@@ -37,7 +29,7 @@ module DataGuru
|
|
37
29
|
end
|
38
30
|
|
39
31
|
def keys_resource_url
|
40
|
-
"#{api_url}?token=#{access_token}"
|
32
|
+
"#{DataGuru.config.api_url}?token=#{DataGuru.config.access_token}"
|
41
33
|
end
|
42
34
|
|
43
35
|
def configuration_errors
|
data/lib/data_guru/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: data_guru
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adam Nowak
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: exe
|
12
12
|
cert_chain: []
|
13
|
-
date: 2015-10-
|
13
|
+
date: 2015-10-20 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: activesupport
|
@@ -68,6 +68,20 @@ dependencies:
|
|
68
68
|
- - "~>"
|
69
69
|
- !ruby/object:Gem::Version
|
70
70
|
version: '1.10'
|
71
|
+
- !ruby/object:Gem::Dependency
|
72
|
+
name: codeclimate-test-reporter
|
73
|
+
requirement: !ruby/object:Gem::Requirement
|
74
|
+
requirements:
|
75
|
+
- - ">="
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
78
|
+
type: :development
|
79
|
+
prerelease: false
|
80
|
+
version_requirements: !ruby/object:Gem::Requirement
|
81
|
+
requirements:
|
82
|
+
- - ">="
|
83
|
+
- !ruby/object:Gem::Version
|
84
|
+
version: '0'
|
71
85
|
- !ruby/object:Gem::Dependency
|
72
86
|
name: pry
|
73
87
|
requirement: !ruby/object:Gem::Requirement
|
@@ -136,12 +150,12 @@ files:
|
|
136
150
|
- ".gitignore"
|
137
151
|
- ".rspec"
|
138
152
|
- ".rubocop.yml"
|
139
|
-
- ".travis.yml"
|
140
153
|
- Gemfile
|
141
154
|
- README.md
|
142
155
|
- Rakefile
|
143
156
|
- bin/console
|
144
157
|
- bin/setup
|
158
|
+
- circle.yml
|
145
159
|
- data_guru.gemspec
|
146
160
|
- lib/data_guru.rb
|
147
161
|
- lib/data_guru/client.rb
|
data/.travis.yml
DELETED