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.
Files changed (35) hide show
  1. data/endeca_on_demand.gemspec +4 -0
  2. data/lib/endeca_on_demand/client.rb +24 -0
  3. data/lib/endeca_on_demand/collection.rb +41 -0
  4. data/lib/endeca_on_demand/pp.rb +48 -0
  5. data/lib/endeca_on_demand/proxy.rb +58 -8
  6. data/lib/endeca_on_demand/query.rb +187 -0
  7. data/lib/endeca_on_demand/response/applied_filters/keyword_redirect.rb +42 -0
  8. data/lib/endeca_on_demand/response/applied_filters/search_report/search.rb +42 -0
  9. data/lib/endeca_on_demand/response/applied_filters/search_report.rb +50 -0
  10. data/lib/endeca_on_demand/response/applied_filters/selected_dimension_value_id.rb +32 -0
  11. data/lib/endeca_on_demand/response/applied_filters.rb +39 -0
  12. data/lib/endeca_on_demand/response/breadcrumb/bread.rb +42 -0
  13. data/lib/endeca_on_demand/response/breadcrumb.rb +35 -0
  14. data/lib/endeca_on_demand/response/business_rules_result/business_rule.rb +54 -0
  15. data/lib/endeca_on_demand/response/business_rules_result.rb +31 -0
  16. data/lib/endeca_on_demand/response/dimension/dimension_value.rb +50 -0
  17. data/lib/endeca_on_demand/response/dimension.rb +50 -0
  18. data/lib/endeca_on_demand/response/property.rb +36 -0
  19. data/lib/endeca_on_demand/response/records_set/record.rb +53 -0
  20. data/lib/endeca_on_demand/response/records_set.rb +50 -0
  21. data/lib/endeca_on_demand/response.rb +62 -0
  22. data/lib/endeca_on_demand/version.rb +1 -1
  23. data/lib/endeca_on_demand.rb +251 -243
  24. metadata +69 -17
  25. data/lib/endeca_on_demand/bread_crumb.rb +0 -12
  26. data/lib/endeca_on_demand/business_rules_result/property.rb +0 -14
  27. data/lib/endeca_on_demand/business_rules_result.rb +0 -33
  28. data/lib/endeca_on_demand/dimension/dimension_value.rb +0 -14
  29. data/lib/endeca_on_demand/dimension.rb +0 -24
  30. data/lib/endeca_on_demand/keyword_redirect.rb +0 -12
  31. data/lib/endeca_on_demand/record_set/record.rb +0 -14
  32. data/lib/endeca_on_demand/record_set.rb +0 -24
  33. data/lib/endeca_on_demand/search_report/search.rb +0 -14
  34. data/lib/endeca_on_demand/search_report.rb +0 -21
  35. 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.1
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-07 00:00:00.000000000Z
12
+ date: 2011-12-10 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
- requirement: &70320197059740 !ruby/object:Gem::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: *70320197059740
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: &70320197053000 !ruby/object:Gem::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: *70320197053000
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/bread_crumb.rb
53
- - lib/endeca_on_demand/business_rules_result.rb
54
- - lib/endeca_on_demand/business_rules_result/property.rb
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/record_set.rb
60
- - lib/endeca_on_demand/record_set/record.rb
61
- - lib/endeca_on_demand/search_report.rb
62
- - lib/endeca_on_demand/search_report/search.rb
63
- - lib/endeca_on_demand/selected_dimension_value_id.rb
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