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 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