endeca_on_demand 1.0.1 → 1.1.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.
- data/endeca_on_demand.gemspec +4 -0
- data/lib/endeca_on_demand/client.rb +24 -0
- data/lib/endeca_on_demand/collection.rb +41 -0
- data/lib/endeca_on_demand/pp.rb +48 -0
- data/lib/endeca_on_demand/proxy.rb +58 -8
- data/lib/endeca_on_demand/query.rb +187 -0
- data/lib/endeca_on_demand/response/applied_filters/keyword_redirect.rb +42 -0
- data/lib/endeca_on_demand/response/applied_filters/search_report/search.rb +42 -0
- data/lib/endeca_on_demand/response/applied_filters/search_report.rb +50 -0
- data/lib/endeca_on_demand/response/applied_filters/selected_dimension_value_id.rb +32 -0
- data/lib/endeca_on_demand/response/applied_filters.rb +39 -0
- data/lib/endeca_on_demand/response/breadcrumb/bread.rb +42 -0
- data/lib/endeca_on_demand/response/breadcrumb.rb +35 -0
- data/lib/endeca_on_demand/response/business_rules_result/business_rule.rb +54 -0
- data/lib/endeca_on_demand/response/business_rules_result.rb +31 -0
- data/lib/endeca_on_demand/response/dimension/dimension_value.rb +50 -0
- data/lib/endeca_on_demand/response/dimension.rb +50 -0
- data/lib/endeca_on_demand/response/property.rb +36 -0
- data/lib/endeca_on_demand/response/records_set/record.rb +53 -0
- data/lib/endeca_on_demand/response/records_set.rb +50 -0
- data/lib/endeca_on_demand/response.rb +62 -0
- data/lib/endeca_on_demand/version.rb +1 -1
- data/lib/endeca_on_demand.rb +251 -243
- metadata +69 -17
- data/lib/endeca_on_demand/bread_crumb.rb +0 -12
- data/lib/endeca_on_demand/business_rules_result/property.rb +0 -14
- data/lib/endeca_on_demand/business_rules_result.rb +0 -33
- data/lib/endeca_on_demand/dimension/dimension_value.rb +0 -14
- data/lib/endeca_on_demand/dimension.rb +0 -24
- data/lib/endeca_on_demand/keyword_redirect.rb +0 -12
- data/lib/endeca_on_demand/record_set/record.rb +0 -14
- data/lib/endeca_on_demand/record_set.rb +0 -24
- data/lib/endeca_on_demand/search_report/search.rb +0 -14
- data/lib/endeca_on_demand/search_report.rb +0 -21
- data/lib/endeca_on_demand/selected_dimension_value_id.rb +0 -12
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: endeca_on_demand
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-12-
|
12
|
+
date: 2011-12-10 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|
16
|
-
requirement: &
|
16
|
+
requirement: &70127698146980 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,54 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70127698146980
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: pry
|
27
|
+
requirement: &70127698146080 !ruby/object:Gem::Requirement
|
28
|
+
none: false
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0'
|
33
|
+
type: :development
|
34
|
+
prerelease: false
|
35
|
+
version_requirements: *70127698146080
|
25
36
|
- !ruby/object:Gem::Dependency
|
26
37
|
name: nokogiri
|
27
|
-
requirement: &
|
38
|
+
requirement: &70127698145060 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
40
|
+
requirements:
|
41
|
+
- - ! '>='
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '0'
|
44
|
+
type: :runtime
|
45
|
+
prerelease: false
|
46
|
+
version_requirements: *70127698145060
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: builder
|
49
|
+
requirement: &70127698143600 !ruby/object:Gem::Requirement
|
50
|
+
none: false
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
type: :runtime
|
56
|
+
prerelease: false
|
57
|
+
version_requirements: *70127698143600
|
58
|
+
- !ruby/object:Gem::Dependency
|
59
|
+
name: activesupport
|
60
|
+
requirement: &70127698141200 !ruby/object:Gem::Requirement
|
61
|
+
none: false
|
62
|
+
requirements:
|
63
|
+
- - ~>
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: '3.1'
|
66
|
+
type: :runtime
|
67
|
+
prerelease: false
|
68
|
+
version_requirements: *70127698141200
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: i18n
|
71
|
+
requirement: &70127698134580 !ruby/object:Gem::Requirement
|
28
72
|
none: false
|
29
73
|
requirements:
|
30
74
|
- - ! '>='
|
@@ -32,7 +76,7 @@ dependencies:
|
|
32
76
|
version: '0'
|
33
77
|
type: :runtime
|
34
78
|
prerelease: false
|
35
|
-
version_requirements: *
|
79
|
+
version_requirements: *70127698134580
|
36
80
|
description: EndecaOnDemand will take a query-string and construct an XML query and
|
37
81
|
send it to an hosted Endeca On-Demand Cluster. It will then parse the response and
|
38
82
|
expose an API for using the response data.
|
@@ -49,18 +93,26 @@ files:
|
|
49
93
|
- Rakefile
|
50
94
|
- endeca_on_demand.gemspec
|
51
95
|
- lib/endeca_on_demand.rb
|
52
|
-
- lib/endeca_on_demand/
|
53
|
-
- lib/endeca_on_demand/
|
54
|
-
- lib/endeca_on_demand/
|
55
|
-
- lib/endeca_on_demand/dimension.rb
|
56
|
-
- lib/endeca_on_demand/dimension/dimension_value.rb
|
57
|
-
- lib/endeca_on_demand/keyword_redirect.rb
|
96
|
+
- lib/endeca_on_demand/client.rb
|
97
|
+
- lib/endeca_on_demand/collection.rb
|
98
|
+
- lib/endeca_on_demand/pp.rb
|
58
99
|
- lib/endeca_on_demand/proxy.rb
|
59
|
-
- lib/endeca_on_demand/
|
60
|
-
- lib/endeca_on_demand/
|
61
|
-
- lib/endeca_on_demand/
|
62
|
-
- lib/endeca_on_demand/
|
63
|
-
- lib/endeca_on_demand/
|
100
|
+
- lib/endeca_on_demand/query.rb
|
101
|
+
- lib/endeca_on_demand/response.rb
|
102
|
+
- lib/endeca_on_demand/response/applied_filters.rb
|
103
|
+
- lib/endeca_on_demand/response/applied_filters/keyword_redirect.rb
|
104
|
+
- lib/endeca_on_demand/response/applied_filters/search_report.rb
|
105
|
+
- lib/endeca_on_demand/response/applied_filters/search_report/search.rb
|
106
|
+
- lib/endeca_on_demand/response/applied_filters/selected_dimension_value_id.rb
|
107
|
+
- lib/endeca_on_demand/response/breadcrumb.rb
|
108
|
+
- lib/endeca_on_demand/response/breadcrumb/bread.rb
|
109
|
+
- lib/endeca_on_demand/response/business_rules_result.rb
|
110
|
+
- lib/endeca_on_demand/response/business_rules_result/business_rule.rb
|
111
|
+
- lib/endeca_on_demand/response/dimension.rb
|
112
|
+
- lib/endeca_on_demand/response/dimension/dimension_value.rb
|
113
|
+
- lib/endeca_on_demand/response/property.rb
|
114
|
+
- lib/endeca_on_demand/response/records_set.rb
|
115
|
+
- lib/endeca_on_demand/response/records_set/record.rb
|
64
116
|
- lib/endeca_on_demand/version.rb
|
65
117
|
homepage: http://github.com/sdomino/endeca_on-demand
|
66
118
|
licenses: []
|
@@ -1,12 +0,0 @@
|
|
1
|
-
class EndecaOnDemand
|
2
|
-
class BreadCrumb < Proxy
|
3
|
-
|
4
|
-
def initialize(bread_crumb)
|
5
|
-
bread_crumb.children.each do |node|
|
6
|
-
self.instance_variable_set(:"@#{node.name.downcase}", node.content)
|
7
|
-
self.class_eval("attr_reader :#{node.name.downcase}")
|
8
|
-
end
|
9
|
-
end
|
10
|
-
|
11
|
-
end
|
12
|
-
end
|
@@ -1,14 +0,0 @@
|
|
1
|
-
class EndecaOnDemand
|
2
|
-
class BusinessRulesResult
|
3
|
-
class Property < Proxy
|
4
|
-
|
5
|
-
def initialize(property)
|
6
|
-
property.children.each do |node|
|
7
|
-
self.instance_variable_set(:"@#{node.name.downcase}", node.content)
|
8
|
-
self.class_eval("attr_reader :#{node.name.downcase}")
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
@@ -1,33 +0,0 @@
|
|
1
|
-
class EndecaOnDemand
|
2
|
-
class BusinessRulesResult < Proxy
|
3
|
-
|
4
|
-
require 'endeca_on_demand/business_rules_result/property'
|
5
|
-
require 'endeca_on_demand/record_set/record'
|
6
|
-
|
7
|
-
attr_reader :properties
|
8
|
-
|
9
|
-
def initialize(business_rules_result)
|
10
|
-
@properties = []
|
11
|
-
@records = []
|
12
|
-
|
13
|
-
business_rules_result.children.each do |node|
|
14
|
-
|
15
|
-
if node.name == "properties"
|
16
|
-
node.xpath("./properties").each do |node|
|
17
|
-
@properties.push(EndecaOnDemand::BusinessRulesResult::Property.new(node))
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
21
|
-
if node.name == "RecordSet"
|
22
|
-
node.xpath("./RecordSet//Record").each do |node|
|
23
|
-
@records.push(EndecaOnDemand::RecordSet::Record.new(node))
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
self.instance_variable_set(:"@#{node.name.downcase}", node.content)
|
28
|
-
self.class_eval("attr_reader :#{node.name.downcase}")
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
end
|
33
|
-
end
|
@@ -1,14 +0,0 @@
|
|
1
|
-
class EndecaOnDemand
|
2
|
-
class Dimension
|
3
|
-
class DimensionValue < Proxy
|
4
|
-
|
5
|
-
def initialize(dimension_value)
|
6
|
-
dimension_value.children.each do |node|
|
7
|
-
self.instance_variable_set(:"@#{node.name.downcase}", node.content)
|
8
|
-
self.class_eval("attr_reader :#{node.name.downcase}")
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
@@ -1,24 +0,0 @@
|
|
1
|
-
class EndecaOnDemand
|
2
|
-
class Dimension < Proxy
|
3
|
-
|
4
|
-
require 'endeca_on_demand/dimension/dimension_value'
|
5
|
-
|
6
|
-
attr_reader :dimension_values
|
7
|
-
|
8
|
-
def initialize(dimension)
|
9
|
-
@dimension_values = []
|
10
|
-
|
11
|
-
dimension.children.each do |node|
|
12
|
-
if node.name == "DimensionValues"
|
13
|
-
node.xpath("./DimensionValue").each do |node|
|
14
|
-
@dimension_values.push(EndecaOnDemand::Dimension::DimensionValue.new(node))
|
15
|
-
end
|
16
|
-
else
|
17
|
-
self.instance_variable_set(:"@#{node.name.downcase}", node.content)
|
18
|
-
self.class_eval("attr_reader :#{node.name.downcase}")
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
|
-
end
|
24
|
-
end
|
@@ -1,12 +0,0 @@
|
|
1
|
-
class EndecaOnDemand
|
2
|
-
class KeywordRedirect < Proxy
|
3
|
-
|
4
|
-
def initialize(keyword_redirect)
|
5
|
-
keyword_redirect.children.each do |node|
|
6
|
-
self.instance_variable_set(:"@#{node.name.downcase}", node.content)
|
7
|
-
self.class_eval("attr_reader :#{node.name.downcase}")
|
8
|
-
end
|
9
|
-
end
|
10
|
-
|
11
|
-
end
|
12
|
-
end
|
@@ -1,14 +0,0 @@
|
|
1
|
-
class EndecaOnDemand
|
2
|
-
class RecordSet
|
3
|
-
class Record < Proxy
|
4
|
-
|
5
|
-
def initialize(record)
|
6
|
-
record.children.each do |node|
|
7
|
-
self.instance_variable_set(:"@#{node.name.downcase}", node.content)
|
8
|
-
self.class_eval("attr_reader :#{node.name.downcase}")
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
@@ -1,24 +0,0 @@
|
|
1
|
-
class EndecaOnDemand
|
2
|
-
class Record < Proxy
|
3
|
-
|
4
|
-
require 'endeca_on_demand/record_set/record'
|
5
|
-
|
6
|
-
attr_reader :records
|
7
|
-
|
8
|
-
def initialize(record_set)
|
9
|
-
@records = []
|
10
|
-
|
11
|
-
record_set.children.each do |node|
|
12
|
-
if node.name == "Record"
|
13
|
-
node.xpath("./Record").each do |node|
|
14
|
-
@records.push(EndecaOnDemand::RecordSet::Record.new(node))
|
15
|
-
end
|
16
|
-
else
|
17
|
-
self.instance_variable_set(:"@#{node.name.downcase}", node.content)
|
18
|
-
self.class_eval("attr_reader :#{node.name.downcase}")
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
|
-
end
|
24
|
-
end
|
@@ -1,14 +0,0 @@
|
|
1
|
-
class EndecaOnDemand
|
2
|
-
class SearchReport
|
3
|
-
class Search < Proxy
|
4
|
-
|
5
|
-
def initialize(search)
|
6
|
-
search.children.each do |node|
|
7
|
-
self.instance_variable_set(:"@#{node.name.downcase}", node.content)
|
8
|
-
self.class_eval("attr_reader :#{node.name.downcase}")
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
@@ -1,21 +0,0 @@
|
|
1
|
-
class EndecaOnDemand
|
2
|
-
class SearchReport < Proxy
|
3
|
-
|
4
|
-
require 'endeca_on_demand/search_report/search'
|
5
|
-
|
6
|
-
attr_reader :search
|
7
|
-
|
8
|
-
def initialize(search_report)
|
9
|
-
search_report.children.each do |node|
|
10
|
-
self.instance_variable_set(:"@#{node.name.downcase}", node.content)
|
11
|
-
|
12
|
-
node.xpath("//Search").each do |node|
|
13
|
-
@search = EndecaOnDemand::SearchReport::Search.new(node)
|
14
|
-
end if node.name == "Search"
|
15
|
-
|
16
|
-
self.class_eval("attr_reader :#{node.name.downcase}")
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
|
-
end
|
21
|
-
end
|
@@ -1,12 +0,0 @@
|
|
1
|
-
class EndecaOnDemand
|
2
|
-
class SelectedDimensionValueId < Proxy
|
3
|
-
|
4
|
-
def initialize(selected_dimension_value_id)
|
5
|
-
selected_dimension_value_id.each do |node|
|
6
|
-
self.instance_variable_set(:"@#{node.name.downcase}", node.content)
|
7
|
-
self.class_eval("attr_reader :#{node.name.downcase}")
|
8
|
-
end
|
9
|
-
end
|
10
|
-
|
11
|
-
end
|
12
|
-
end
|