collins_client 0.2.7 → 0.2.9
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.
- data/README.md +1 -1
- data/VERSION +1 -1
- data/collins_client.gemspec +3 -3
- data/lib/collins/api/asset.rb +13 -3
- data/lib/collins/api/logging.rb +15 -0
- data/lib/collins/asset.rb +2 -1
- metadata +4 -4
data/README.md
CHANGED
@@ -14,7 +14,7 @@ First install rvm
|
|
14
14
|
|
15
15
|
Install the collins gem and use it
|
16
16
|
|
17
|
-
$ gem install
|
17
|
+
$ gem install collins_client
|
18
18
|
|
19
19
|
Remember, if you don't have 1.9.3 set as the default, before you use collins you'll need to do `rvm use 1.9.3`.
|
20
20
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.9
|
data/collins_client.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "collins_client"
|
8
|
-
s.version = "0.2.
|
8
|
+
s.version = "0.2.9"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Blake Matheny"]
|
12
|
-
s.date = "2012-
|
12
|
+
s.date = "2012-11-19"
|
13
13
|
s.description = "Provides ruby support for interacting with the Collins API"
|
14
14
|
s.email = "bmatheny@tumblr.com"
|
15
15
|
s.extra_rdoc_files = [
|
@@ -55,7 +55,7 @@ Gem::Specification.new do |s|
|
|
55
55
|
s.homepage = "https://github.com/tumblr/collins/tree/master/support/ruby/collins-client"
|
56
56
|
s.licenses = ["APL 2.0"]
|
57
57
|
s.require_paths = ["lib"]
|
58
|
-
s.rubygems_version = "1.8.
|
58
|
+
s.rubygems_version = "1.8.23"
|
59
59
|
s.summary = "Client library for Collins API"
|
60
60
|
|
61
61
|
if s.respond_to? :specification_version then
|
data/lib/collins/api/asset.rb
CHANGED
@@ -81,7 +81,7 @@ module Collins; module Api
|
|
81
81
|
def find options = {}
|
82
82
|
solrquery = options.delete(:query)
|
83
83
|
if solrquery != nil then
|
84
|
-
return search solrquery, options[:size], options
|
84
|
+
return search solrquery, (options[:size] || 50), (options[:sort] || "ASC"), "tag", options
|
85
85
|
end
|
86
86
|
use_api_version "1.1"
|
87
87
|
query = asset_hash_to_find_query options
|
@@ -101,7 +101,7 @@ module Collins; module Api
|
|
101
101
|
end
|
102
102
|
end
|
103
103
|
|
104
|
-
def search query, size = 50, sort = "ASC", sort_field = "tag"
|
104
|
+
def search query, size = 50, sort = "ASC", sort_field = "tag", options = {}
|
105
105
|
use_api_version "1.2"
|
106
106
|
if query.start_with? "\"" and query.end_with? "\"" then
|
107
107
|
query = query[1..-2]
|
@@ -112,7 +112,17 @@ module Collins; module Api
|
|
112
112
|
:sort => sort,
|
113
113
|
:sort_field => sort_field
|
114
114
|
}
|
115
|
-
|
115
|
+
query = asset_hash_to_find_query options.merge(params)
|
116
|
+
params = query.to_a.map do |(key,val)|
|
117
|
+
if val.is_a?(Array) then
|
118
|
+
val.map{|v| "#{key}=#{asset_escape_attribute(v)}"}.join("&")
|
119
|
+
elsif val.nil? then
|
120
|
+
""
|
121
|
+
else
|
122
|
+
"#{key}=#{asset_escape_attribute(val)}"
|
123
|
+
end
|
124
|
+
end.reject{|s| s.empty?}
|
125
|
+
logger.debug("perform asset search using query #{query} - #{params.inspect}")
|
116
126
|
http_get("/api/assets",params) do |response|
|
117
127
|
parse_response response, :expects => 200, :as => :paginated do |json|
|
118
128
|
json.map { |j| Collins::Asset.from_json(j) }
|
data/lib/collins/api/logging.rb
CHANGED
@@ -106,6 +106,21 @@ module Collins; module Api
|
|
106
106
|
end
|
107
107
|
end
|
108
108
|
|
109
|
+
# new solr interface
|
110
|
+
def search_logs options = {}
|
111
|
+
parameters = get_page_options(options).merge(
|
112
|
+
:query => get_option(:query, options, nil)
|
113
|
+
)
|
114
|
+
parameters = select_non_empty_parameters parameters
|
115
|
+
logger.debug("Fetching logs for all assets with parameters #{parameters.inspect}")
|
116
|
+
http_get("/api/assets/logs/search", parameters) do |response|
|
117
|
+
parse_response response, :as => :paginated, :default => [], :raise => strict?, :expects => 200 do |json|
|
118
|
+
json.map{|j| OpenStruct.new(symbolize_hash(j))}
|
119
|
+
end
|
120
|
+
end
|
121
|
+
|
122
|
+
end
|
123
|
+
|
109
124
|
# Same as logs but for all assets
|
110
125
|
# @see #logs
|
111
126
|
def all_logs options = {}
|
data/lib/collins/asset.rb
CHANGED
@@ -25,7 +25,8 @@ module Collins
|
|
25
25
|
# are attributes of the asset (such as hostname), and which are nort (such as sort or page).
|
26
26
|
# @return [Array,<String>] Non-date related query parameters that are 'reserved'
|
27
27
|
GENERAL_PARAMS = [
|
28
|
-
"details", "tag", "type", "status", "page", "size", "sort", "state", "operation", "remoteLookup"
|
28
|
+
"details", "tag", "type", "status", "page", "size", "sort", "state", "operation", "remoteLookup", "query",
|
29
|
+
"sort_field"
|
29
30
|
]
|
30
31
|
# @return [Array<String>] DATE_PARAMS plus GENERAL_PARAMS
|
31
32
|
ALL_PARAMS = DATE_PARAMS + GENERAL_PARAMS
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: collins_client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.9
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-11-19 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: httparty
|
@@ -84,7 +84,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
84
84
|
version: '0'
|
85
85
|
segments:
|
86
86
|
- 0
|
87
|
-
hash: -
|
87
|
+
hash: -117054897362145987
|
88
88
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
89
89
|
none: false
|
90
90
|
requirements:
|
@@ -93,7 +93,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
93
93
|
version: '0'
|
94
94
|
requirements: []
|
95
95
|
rubyforge_project:
|
96
|
-
rubygems_version: 1.8.
|
96
|
+
rubygems_version: 1.8.23
|
97
97
|
signing_key:
|
98
98
|
specification_version: 3
|
99
99
|
summary: Client library for Collins API
|