dgr 0.0.2 → 0.0.3
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/.gitignore +14 -17
- data/.rspec +2 -0
- data/Gemfile +19 -1
- data/Guardfile +5 -0
- data/README.md +26 -42
- data/dgr.gemspec +10 -9
- data/lib/dgr.rb +23 -7
- data/lib/dgr/version.rb +1 -1
- data/{LICENSE.txt → licnese.txt} +1 -1
- data/spec/dgr_spec.rb +43 -0
- data/spec/spec_helper.rb +5 -0
- metadata +23 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a30a7af710a33bfde45fca6466c98c9b7bf43990
|
4
|
+
data.tar.gz: 26f0035a84334264c74584c76f10427fb0ec04f7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 791a750d49e38db3afaac95db8d1c61c3e246ed8ad116922464c16546b8cd86f54da31c959ac3be7d5709a9b7dbec5c070d159d782a691198daa3701eab32361
|
7
|
+
data.tar.gz: cdac1015b7616719a857e294b512e534ac8c62157cebacf6479c0e3f673b0a54d9f71f7b2990bd4992f87f57b5071a9bc98b08da896e76e34ad59c912060e17b
|
data/.gitignore
CHANGED
@@ -1,17 +1,14 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
.
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
test/tmp
|
16
|
-
test/version_tmp
|
17
|
-
tmp
|
1
|
+
/.bundle/
|
2
|
+
/.yardoc
|
3
|
+
/Gemfile.lock
|
4
|
+
/_yardoc/
|
5
|
+
/coverage/
|
6
|
+
/doc/
|
7
|
+
/pkg/
|
8
|
+
/spec/reports/
|
9
|
+
/tmp/
|
10
|
+
*.bundle
|
11
|
+
*.so
|
12
|
+
*.o
|
13
|
+
*.a
|
14
|
+
mkmf.log
|
data/.rspec
ADDED
data/Gemfile
CHANGED
@@ -1,4 +1,22 @@
|
|
1
1
|
source 'https://rubygems.org'
|
2
2
|
|
3
|
-
gem
|
3
|
+
# Specify your gem's dependencies in dgr.gemspec
|
4
|
+
gemspec
|
4
5
|
|
6
|
+
gem 'rake'
|
7
|
+
gem 'json'
|
8
|
+
gem 'coveralls', require: false
|
9
|
+
|
10
|
+
group :development do
|
11
|
+
gem 'guard'
|
12
|
+
gem 'guard-rspec'
|
13
|
+
gem 'pry'
|
14
|
+
gem 'pry-remote'
|
15
|
+
gem 'pry-nav'
|
16
|
+
gem 'fuubar'
|
17
|
+
end
|
18
|
+
|
19
|
+
group :test do
|
20
|
+
gem 'rspec'
|
21
|
+
gem 'rspec-nc'
|
22
|
+
end
|
data/Guardfile
ADDED
data/README.md
CHANGED
@@ -1,47 +1,31 @@
|
|
1
|
-
#
|
1
|
+
#dgr-rb-tool
|
2
|
+
A tool for data garage usage using ruby.
|
2
3
|
|
3
|
-
|
4
|
+
## Install
|
4
5
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
gem 'dgr_test'
|
10
|
-
|
11
|
-
And then execute:
|
12
|
-
|
13
|
-
$ bundle
|
14
|
-
|
15
|
-
Or install it yourself as:
|
16
|
-
|
17
|
-
$ gem install dgr_test
|
6
|
+
###
|
7
|
+
```
|
8
|
+
gem install dgr
|
9
|
+
```
|
18
10
|
|
19
11
|
## Usage
|
12
|
+
```
|
13
|
+
Dgr.fetch(id, options = {})
|
14
|
+
```
|
15
|
+
|
16
|
+
## Example
|
17
|
+
```
|
18
|
+
Dgr.fetch("54a814079cbc60e12d30c2d2")
|
19
|
+
Dgr.fetch("54a814079cbc60e12d30c2d2", :fields => "count()")
|
20
|
+
Dgr.fetch("54a814079cbc60e12d30c2d2", :limit => 3, fields => "age>31 AND age<35")
|
21
|
+
```
|
22
|
+
|
23
|
+
## Development
|
24
|
+
```
|
25
|
+
bundle install
|
26
|
+
guard
|
27
|
+
```
|
28
|
+
|
29
|
+
##License
|
30
|
+
MIT [@jackhou07](http://www.github.com/jackhou07)
|
20
31
|
|
21
|
-
### Fetch all data
|
22
|
-
|
23
|
-
* Argument
|
24
|
-
* Data id(string)
|
25
|
-
* Return: json
|
26
|
-
|
27
|
-
fetchAll('52e12d31203b41ab5d14964b')
|
28
|
-
|
29
|
-
### Fetch custom data
|
30
|
-
|
31
|
-
* Argument
|
32
|
-
* Data id(string)
|
33
|
-
* data(Object):
|
34
|
-
* limit: You can limit the number of dataset which you wanna pull
|
35
|
-
* fields: Select the fields you want to get, should be a string seperate by comma (for example: `Format, Valuie`, ...)
|
36
|
-
* You could also skip the record you don't want( for example: `skip: 2`, that means the data will start from the 3)
|
37
|
-
* selector : You can also select the data using greater, lesser, or equal ( for exmaple: `B Fmt=General`)
|
38
|
-
|
39
|
-
fetchCustom('52e12d31203b41ab5d14964b', {'limit': '3'})
|
40
|
-
|
41
|
-
## Contributing
|
42
|
-
|
43
|
-
1. Fork it
|
44
|
-
2. Create your feature branch (`git checkout -b my-new-feature`)
|
45
|
-
3. Commit your changes (`git commit -am 'Add some feature'`)
|
46
|
-
4. Push to the branch (`git push origin my-new-feature`)
|
47
|
-
5. Create new Pull Request
|
data/dgr.gemspec
CHANGED
@@ -6,19 +6,20 @@ require 'dgr/version'
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
7
|
spec.name = "dgr"
|
8
8
|
spec.version = Dgr::VERSION
|
9
|
-
spec.authors = ["
|
10
|
-
spec.email = ["
|
11
|
-
spec.
|
12
|
-
spec.
|
13
|
-
spec.homepage = "
|
9
|
+
spec.authors = ["zxlai"]
|
10
|
+
spec.email = ["garylai1990@gmail.com"]
|
11
|
+
spec.summary = "Data Garage Ruby tool."
|
12
|
+
spec.description = "Data Garage Ruby tool."
|
13
|
+
spec.homepage = ""
|
14
14
|
spec.license = "MIT"
|
15
15
|
|
16
|
-
spec.files = `git ls-files`.split(
|
16
|
+
spec.files = `git ls-files -z`.split("\x0")
|
17
17
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
19
|
spec.require_paths = ["lib"]
|
20
20
|
|
21
|
-
spec.add_development_dependency "bundler", "~> 1.
|
22
|
-
spec.add_development_dependency "rake"
|
23
|
-
|
21
|
+
spec.add_development_dependency "bundler", "~> 1.7"
|
22
|
+
spec.add_development_dependency "rake", "~> 10.0"
|
23
|
+
|
24
|
+
spec.add_dependency "rest_client"
|
24
25
|
end
|
data/lib/dgr.rb
CHANGED
@@ -1,11 +1,27 @@
|
|
1
|
+
require "dgr/version"
|
1
2
|
require 'rest_client'
|
3
|
+
require "json"
|
2
4
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
5
|
+
module Dgr
|
6
|
+
|
7
|
+
def self.fetch(data_id, options = {})
|
8
|
+
fields = options[:fields]
|
9
|
+
selector = options[:selector]
|
10
|
+
limit = options[:limit]
|
11
|
+
skip = options[:skip]
|
12
|
+
group = options[:group]
|
13
|
+
segments = options[:segments]
|
14
|
+
response = RestClient.get "http://www.datagarage.io/api/#{data_id}",
|
15
|
+
{
|
16
|
+
:params => {
|
17
|
+
:fields => fields,
|
18
|
+
:selector => selector,
|
19
|
+
:limit => limit,
|
20
|
+
:skip => skip,
|
21
|
+
:group => group,
|
22
|
+
:segments => segments
|
23
|
+
}
|
24
|
+
}
|
25
|
+
end
|
7
26
|
|
8
|
-
def fetchCustom(dataId, form)
|
9
|
-
response = RestClient.get 'http://localhost:3000/api/' + dataId, params = form
|
10
|
-
return response
|
11
27
|
end
|
data/lib/dgr/version.rb
CHANGED
data/{LICENSE.txt → licnese.txt}
RENAMED
data/spec/dgr_spec.rb
ADDED
@@ -0,0 +1,43 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
describe Dgr do
|
4
|
+
|
5
|
+
it "fetch data from server" do
|
6
|
+
response = Dgr.fetch("54a814079cbc60e12d30c2d2")
|
7
|
+
expect(response.code).to eq 200
|
8
|
+
parsed = JSON.parse(response)
|
9
|
+
first_one = parsed.first
|
10
|
+
expect(first_one["name"].to_s).to eq "Ms. Eula Yost MD"
|
11
|
+
expect(first_one["bmi"]).to eq 16.35
|
12
|
+
expect(first_one["age"]).to eq 48
|
13
|
+
expect(first_one["birthday"]).to eq "1988-09-06T00:00:00.000Z"
|
14
|
+
expect(first_one["country"]).to eq "East Staceyberg"
|
15
|
+
expect(first_one["married"]).to eq true
|
16
|
+
end
|
17
|
+
|
18
|
+
it "get the count number of data" do
|
19
|
+
response = Dgr.fetch("54a814079cbc60e12d30c2d2", :fields => "count()")
|
20
|
+
expect(response).to eq "11"
|
21
|
+
end
|
22
|
+
|
23
|
+
it "shold get specfic spec field of data" do
|
24
|
+
response = Dgr.fetch("54a814079cbc60e12d30c2d2", :fields => "name,bmi")
|
25
|
+
parsed = JSON.parse(response)
|
26
|
+
expect(parsed.all? {|p| p.has_key?("name")}).to eq true
|
27
|
+
expect(parsed.all? {|p| p.has_key?("bmi")}).to eq true
|
28
|
+
expect(parsed.all? {|p| p.has_key?("age")}).to eq false
|
29
|
+
end
|
30
|
+
|
31
|
+
it "shold get limit number of data" do
|
32
|
+
response = Dgr.fetch("54a814079cbc60e12d30c2d2", :limit => 5)
|
33
|
+
parsed = JSON.parse(response)
|
34
|
+
expect(parsed.length).to eq 5
|
35
|
+
end
|
36
|
+
|
37
|
+
it "shold get specfic selector of data" do
|
38
|
+
response = Dgr.fetch("54a814079cbc60e12d30c2d2", :selector => "age>31ANDage<35")
|
39
|
+
parsed = JSON.parse(response)
|
40
|
+
expect(parsed.all? {|p| p["age"] > 31 && p["age"] <35}).to eq true
|
41
|
+
end
|
42
|
+
|
43
|
+
end
|
data/spec/spec_helper.rb
ADDED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dgr
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
7
|
+
- zxlai
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-01-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -16,28 +16,28 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ~>
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '1.
|
19
|
+
version: '1.7'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ~>
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '1.
|
26
|
+
version: '1.7'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ~>
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '0'
|
33
|
+
version: '10.0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ~>
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '0'
|
40
|
+
version: '10.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rest_client
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -45,29 +45,33 @@ dependencies:
|
|
45
45
|
- - '>='
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '0'
|
48
|
-
type: :
|
48
|
+
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - '>='
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
|
-
description:
|
55
|
+
description: Data Garage Ruby tool.
|
56
56
|
email:
|
57
|
-
-
|
57
|
+
- garylai1990@gmail.com
|
58
58
|
executables: []
|
59
59
|
extensions: []
|
60
60
|
extra_rdoc_files: []
|
61
61
|
files:
|
62
62
|
- .gitignore
|
63
|
+
- .rspec
|
63
64
|
- Gemfile
|
64
|
-
-
|
65
|
+
- Guardfile
|
65
66
|
- README.md
|
66
67
|
- Rakefile
|
67
68
|
- dgr.gemspec
|
68
69
|
- lib/dgr.rb
|
69
70
|
- lib/dgr/version.rb
|
70
|
-
|
71
|
+
- licnese.txt
|
72
|
+
- spec/dgr_spec.rb
|
73
|
+
- spec/spec_helper.rb
|
74
|
+
homepage: ''
|
71
75
|
licenses:
|
72
76
|
- MIT
|
73
77
|
metadata: {}
|
@@ -87,8 +91,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
87
91
|
version: '0'
|
88
92
|
requirements: []
|
89
93
|
rubyforge_project:
|
90
|
-
rubygems_version: 2.
|
94
|
+
rubygems_version: 2.4.3
|
91
95
|
signing_key:
|
92
96
|
specification_version: 4
|
93
|
-
summary:
|
94
|
-
test_files:
|
97
|
+
summary: Data Garage Ruby tool.
|
98
|
+
test_files:
|
99
|
+
- spec/dgr_spec.rb
|
100
|
+
- spec/spec_helper.rb
|