data_guru 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8c8667440f7886044b541e700f46712c984955f9
4
- data.tar.gz: 744434dea8207c0c22e68762f7e47414ce2cd518
3
+ metadata.gz: 596c654f0a314f25642dcec4f6215855fb162f2e
4
+ data.tar.gz: 9e7b366fcb502b7d1d52ca89dcc63695e9af047b
5
5
  SHA512:
6
- metadata.gz: c4d50f066499af43eb6aaba731c66b8c129462469248e9a33d25384bf189af9545f3f07f19a62f5da48d700fed8648b7090f9e097c2a6d0fbb1d799ded36f902
7
- data.tar.gz: 984c11f90833f18b5ce17fae93e813a7613df62fbe6ac295fd4e9c8217dfd0ae057567a4060ee1ffa275d77df1ee2acacf6b6ed6bc142ff0a39969bd0827b2a7
6
+ metadata.gz: 1bb1d3def03cf3d6e0815e010b54616a414221f07a170a81f12c22478ca7534edef2923cd63f405d7c3a681598beeb858b47cba1b837ca9fee794eb4f302b5ad
7
+ data.tar.gz: b50f495835e174e425b8e4c6ec50f6e92ac83f9edc13276467b8d7dca686cae0bc4e8aa7c4eeb8a65df47c76aeecc0221fd8ca657b4a361927f2f774f144a568
data/README.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # DataGuru
2
2
 
3
+ [![](https://img.shields.io/gem/v/data_guru.svg?style=flat-square)](https://rubygems.org/gems/data_guru)
4
+ [![](https://img.shields.io/circleci/project/netguru/data_guru.svg?style=flat-square)](https://circleci.com/gh/netguru/data_guru)
5
+ [![](http://img.shields.io/codeclimate/github/netguru/data_guru.svg?style=flat-square)](https://codeclimate.com/github/netguru/data_guru)
6
+ [![](http://img.shields.io/codeclimate/coverage/github/netguru/data_guru.svg?style=flat-square)](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
@@ -0,0 +1,6 @@
1
+ dependencies:
2
+ pre:
3
+ - gem install bundler --pre
4
+ machine:
5
+ ruby:
6
+ version: 2.2.0
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
- def self.config
21
- @config ||= Configuration.new
22
- end
17
+ def config
18
+ @config ||= Configuration.new
19
+ end
23
20
 
24
- def self.configure
25
- yield(config)
26
- end
21
+ def configure
22
+ yield(config)
23
+ end
27
24
 
28
- def self.reset
29
- @config = Configuration.new
25
+ def reset
26
+ @config = Configuration.new
27
+ end
30
28
  end
31
29
  end
@@ -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
- end
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
@@ -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
@@ -2,9 +2,9 @@ module DataGuru
2
2
  class Configuration
3
3
  attr_accessor :api_url, :access_token
4
4
 
5
- def initialize
6
- @api_url = nil
7
- @access_token = nil
5
+ def initialize(api_url: nil, access_token: nil)
6
+ @api_url = api_url
7
+ @access_token = access_token
8
8
  end
9
9
  end
10
10
  end
@@ -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
@@ -1,3 +1,3 @@
1
1
  module DataGuru
2
- VERSION = "0.3.0"
2
+ VERSION = "0.4.0"
3
3
  end
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.3.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-19 00:00:00.000000000 Z
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
@@ -1,4 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - 2.2.3
4
- before_install: gem install bundler -v 1.10.6