ucengine 0.3.1 → 0.3.2

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/Rakefile CHANGED
@@ -14,6 +14,8 @@ begin
14
14
  gem.add_dependency "json", "~>1.4"
15
15
  gem.add_dependency "rest-client", "~>1.6"
16
16
  gem.add_dependency "daemons", "~>1.1.0"
17
+ gem.add_development_dependency "sinatra", "~>1.0"
18
+ gem.add_development_dependency "rspec", "~>2.4.0"
17
19
  # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
18
20
  end
19
21
  Jeweler::GemcutterTasks.new
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.1
1
+ 0.3.2
@@ -113,6 +113,29 @@ class UCEngine
113
113
  end
114
114
  end
115
115
 
116
+ # Search events. The 'location' parameter is where you're expection the events to come:
117
+ # * "meeting": event from a specific meeting.
118
+ # * "": all events.
119
+ #
120
+ # The function takes extra parameters:
121
+ # :count => the number of events to return
122
+ # :page => the number of the page to number (starting from 1)
123
+ # :type => the type of event (ex. 'chat.message.new', 'internal.user.add', etc).
124
+ # :from => the origin of the message, the value is an uid.
125
+ # :parent => the id of the the parent event.
126
+ # :search => list of keywords that match the metadata of the returned events
127
+ #
128
+ #
129
+ # # Returns 30 events, starting from the 31th events, containing the keyword "HTML5"
130
+ # events = uce.search("af83",
131
+ # :type => 'internal.meeting.add',
132
+ # :search => 'HTML5',
133
+ # :count => 30, :page => 2)
134
+ def search(location, params = {})
135
+ debug(UCEngine::DEBUG, "Search to #{location} with #{params}.")
136
+ get("/event/#{location}", params)['result']
137
+ end
138
+
116
139
  # Subscribe to an event stream. The 'location' parameter is where you're expecting
117
140
  # the events to come:
118
141
  # * "meeting": events from a specific meeting.
@@ -125,7 +148,7 @@ class UCEngine
125
148
  # :search => list of keywords that match the metadata of the returned events
126
149
  #
127
150
  #
128
- # uce.subscribe(["af83"], :type => 'internal.meeting.add', :search => 'HTML5') do |event|
151
+ # uce.subscribe("af83", :type => 'internal.meeting.add', :search => 'HTML5') do |event|
129
152
  # puts "A new meeting about HTML5 was created"
130
153
  # end
131
154
  def subscribe(location, params = {})
@@ -48,7 +48,7 @@ class UCEngineMock < Sinatra::Base
48
48
  {:result => [{:id => "12345",
49
49
  :type => "test.event",
50
50
  :datetime => 1234,
51
- :meeting => UCE_MEETING,
51
+ :location => UCE_MEETING,
52
52
  :metadata => {},
53
53
  :from => "frank"
54
54
  }]}.to_json
@@ -29,7 +29,7 @@ describe UCEngine do
29
29
 
30
30
  it "should respond to connected?" do
31
31
  @uce.connect(USER, :credential => PASSWORD) do |uce|
32
- uce.respond_to?(:connected?).should eql true
32
+ uce.respond_to?(:connected?).should eql(true)
33
33
  end
34
34
  end
35
35
 
@@ -47,13 +47,13 @@ describe UCEngine do
47
47
 
48
48
  it "returns the current datetime of the server" do
49
49
  @uce.connect(USER, :credential => PASSWORD) do |uce|
50
- uce.time.should eql 1234
50
+ uce.time.should eql(1234)
51
51
  end
52
52
  end
53
53
 
54
54
  it "publishes an event" do
55
55
  @uce.connect(USER, :credential => PASSWORD) do |uce|
56
- result = uce.publish(:location => [UCE_MEETING],
56
+ result = uce.publish(:location => UCE_MEETING,
57
57
  :type => "test_type",
58
58
  :parent => "test_parent",
59
59
  :metadata => {"a" => "b", "c" => "d"})
@@ -61,14 +61,26 @@ describe UCEngine do
61
61
  end
62
62
  end
63
63
 
64
+ it "searches events" do
65
+ @uce.connect(USER, :credential => PASSWORD) do |uce|
66
+ events = uce.search(UCE_MEETING, :type => "test.event")
67
+ events[0]['id'].should eql("12345")
68
+ events[0]['type'].should eql("test.event")
69
+ events[0]['datetime'].should eql(1234)
70
+ events[0]['location'].should eql(UCE_MEETING)
71
+ events[0]['metadata'].should == {}
72
+ events[0]['from'].should eql("frank")
73
+ end
74
+ end
75
+
64
76
  it "subscribes to all events" do
65
77
  @uce.connect(USER, :credential => PASSWORD) do |uce|
66
- uce.subscribe([UCE_MEETING], :type => "test.event") do |event|
78
+ uce.subscribe(UCE_MEETING, :type => "test.event") do |event|
67
79
  event['id'].should eql("12345")
68
80
  event['type'].should eql("test.event")
69
81
  event['datetime'].should eql(1234)
70
- event['meeting'].should eql(UCE_MEETING)
71
- event['metadata'].should eql({})
82
+ event['location'].should eql(UCE_MEETING)
83
+ event['metadata'].should == {}
72
84
  event['from'].should eql("frank")
73
85
  break
74
86
  end
@@ -1,73 +1,72 @@
1
1
  # Generated by jeweler
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{ucengine}
8
- s.version = "0.3.1"
8
+ s.version = "0.3.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["AF83"]
12
- s.date = %q{2010-12-01}
12
+ s.date = %q{2011-02-21}
13
13
  s.description = %q{ucengine.rb is a Ruby library to consume the UCEngine API}
14
14
  s.email = %q{victor.goya@af83.com}
15
15
  s.extra_rdoc_files = [
16
16
  "LICENSE",
17
- "README.rdoc"
17
+ "README.rdoc"
18
18
  ]
19
19
  s.files = [
20
20
  ".document",
21
- ".gitignore",
22
- "LICENSE",
23
- "README.rdoc",
24
- "Rakefile",
25
- "VERSION",
26
- "doc/UCEngine.html",
27
- "doc/UCEngine/Debug.html",
28
- "doc/created.rid",
29
- "doc/images/brick.png",
30
- "doc/images/brick_link.png",
31
- "doc/images/bug.png",
32
- "doc/images/bullet_black.png",
33
- "doc/images/bullet_toggle_minus.png",
34
- "doc/images/bullet_toggle_plus.png",
35
- "doc/images/date.png",
36
- "doc/images/find.png",
37
- "doc/images/loadingAnimation.gif",
38
- "doc/images/macFFBgHack.png",
39
- "doc/images/package.png",
40
- "doc/images/page_green.png",
41
- "doc/images/page_white_text.png",
42
- "doc/images/page_white_width.png",
43
- "doc/images/plugin.png",
44
- "doc/images/ruby.png",
45
- "doc/images/tag_green.png",
46
- "doc/images/wrench.png",
47
- "doc/images/wrench_orange.png",
48
- "doc/images/zoom.png",
49
- "doc/index.html",
50
- "doc/js/darkfish.js",
51
- "doc/js/jquery.js",
52
- "doc/js/quicksearch.js",
53
- "doc/js/thickbox-compressed.js",
54
- "doc/lib/ucengine_rb.html",
55
- "doc/rdoc.css",
56
- "lib/ucengine.rb",
57
- "spec/spec_helper.rb",
58
- "spec/ucengine_mock.rb",
59
- "spec/ucengine_spec.rb",
60
- "ucengine.rb.gemspec"
21
+ "LICENSE",
22
+ "README.rdoc",
23
+ "Rakefile",
24
+ "VERSION",
25
+ "doc/UCEngine.html",
26
+ "doc/UCEngine/Debug.html",
27
+ "doc/created.rid",
28
+ "doc/images/brick.png",
29
+ "doc/images/brick_link.png",
30
+ "doc/images/bug.png",
31
+ "doc/images/bullet_black.png",
32
+ "doc/images/bullet_toggle_minus.png",
33
+ "doc/images/bullet_toggle_plus.png",
34
+ "doc/images/date.png",
35
+ "doc/images/find.png",
36
+ "doc/images/loadingAnimation.gif",
37
+ "doc/images/macFFBgHack.png",
38
+ "doc/images/package.png",
39
+ "doc/images/page_green.png",
40
+ "doc/images/page_white_text.png",
41
+ "doc/images/page_white_width.png",
42
+ "doc/images/plugin.png",
43
+ "doc/images/ruby.png",
44
+ "doc/images/tag_green.png",
45
+ "doc/images/wrench.png",
46
+ "doc/images/wrench_orange.png",
47
+ "doc/images/zoom.png",
48
+ "doc/index.html",
49
+ "doc/js/darkfish.js",
50
+ "doc/js/jquery.js",
51
+ "doc/js/quicksearch.js",
52
+ "doc/js/thickbox-compressed.js",
53
+ "doc/lib/ucengine_rb.html",
54
+ "doc/rdoc.css",
55
+ "lib/ucengine.rb",
56
+ "spec/spec_helper.rb",
57
+ "spec/ucengine_mock.rb",
58
+ "spec/ucengine_spec.rb",
59
+ "ucengine.gemspec",
60
+ "ucengine.rb.gemspec"
61
61
  ]
62
62
  s.homepage = %q{http://github.com/AF83/ucengine.rb}
63
- s.rdoc_options = ["--charset=UTF-8"]
64
63
  s.require_paths = ["lib"]
65
64
  s.rubygems_version = %q{1.3.7}
66
65
  s.summary = %q{Ruby library for UCEngine}
67
66
  s.test_files = [
68
- "spec/spec_helper.rb",
69
- "spec/ucengine_mock.rb",
70
- "spec/ucengine_spec.rb",
67
+ "spec/spec_helper.rb",
68
+ "spec/ucengine_mock.rb",
69
+ "spec/ucengine_spec.rb"
71
70
  ]
72
71
 
73
72
  if s.respond_to? :specification_version then
@@ -75,15 +74,24 @@ Gem::Specification.new do |s|
75
74
  s.specification_version = 3
76
75
 
77
76
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
78
- s.add_development_dependency(%q<thoughtbot-shoulda>, [">= 0"])
79
- s.add_runtime_dependency(%q<json>, [">= 0"])
77
+ s.add_runtime_dependency(%q<json>, ["~> 1.4"])
78
+ s.add_runtime_dependency(%q<rest-client>, ["~> 1.6"])
79
+ s.add_runtime_dependency(%q<daemons>, ["~> 1.1.0"])
80
+ s.add_development_dependency(%q<sinatra>, ["~> 1.0"])
81
+ s.add_development_dependency(%q<rspec>, ["~> 2.4.0"])
80
82
  else
81
- s.add_dependency(%q<thoughtbot-shoulda>, [">= 0"])
82
- s.add_dependency(%q<json>, [">= 0"])
83
+ s.add_dependency(%q<json>, ["~> 1.4"])
84
+ s.add_dependency(%q<rest-client>, ["~> 1.6"])
85
+ s.add_dependency(%q<daemons>, ["~> 1.1.0"])
86
+ s.add_dependency(%q<sinatra>, ["~> 1.0"])
87
+ s.add_dependency(%q<rspec>, ["~> 2.4.0"])
83
88
  end
84
89
  else
85
- s.add_dependency(%q<thoughtbot-shoulda>, [">= 0"])
86
- s.add_dependency(%q<json>, [">= 0"])
90
+ s.add_dependency(%q<json>, ["~> 1.4"])
91
+ s.add_dependency(%q<rest-client>, ["~> 1.6"])
92
+ s.add_dependency(%q<daemons>, ["~> 1.1.0"])
93
+ s.add_dependency(%q<sinatra>, ["~> 1.0"])
94
+ s.add_dependency(%q<rspec>, ["~> 2.4.0"])
87
95
  end
88
96
  end
89
97
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ucengine
3
3
  version: !ruby/object:Gem::Version
4
- hash: 17
4
+ hash: 23
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 3
9
- - 1
10
- version: 0.3.1
9
+ - 2
10
+ version: 0.3.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - AF83
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-02-16 00:00:00 +01:00
18
+ date: 2011-02-21 00:00:00 +01:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -64,6 +64,37 @@ dependencies:
64
64
  version: 1.1.0
65
65
  type: :runtime
66
66
  version_requirements: *id003
67
+ - !ruby/object:Gem::Dependency
68
+ name: sinatra
69
+ prerelease: false
70
+ requirement: &id004 !ruby/object:Gem::Requirement
71
+ none: false
72
+ requirements:
73
+ - - ~>
74
+ - !ruby/object:Gem::Version
75
+ hash: 15
76
+ segments:
77
+ - 1
78
+ - 0
79
+ version: "1.0"
80
+ type: :development
81
+ version_requirements: *id004
82
+ - !ruby/object:Gem::Dependency
83
+ name: rspec
84
+ prerelease: false
85
+ requirement: &id005 !ruby/object:Gem::Requirement
86
+ none: false
87
+ requirements:
88
+ - - ~>
89
+ - !ruby/object:Gem::Version
90
+ hash: 31
91
+ segments:
92
+ - 2
93
+ - 4
94
+ - 0
95
+ version: 2.4.0
96
+ type: :development
97
+ version_requirements: *id005
67
98
  description: ucengine.rb is a Ruby library to consume the UCEngine API
68
99
  email: victor.goya@af83.com
69
100
  executables: []
@@ -114,7 +145,6 @@ files:
114
145
  - spec/ucengine_mock.rb
115
146
  - spec/ucengine_spec.rb
116
147
  - ucengine.gemspec
117
- - ucengine.rb.gemspec
118
148
  has_rdoc: true
119
149
  homepage: http://github.com/AF83/ucengine.rb
120
150
  licenses: []
@@ -1,57 +0,0 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
4
- # -*- encoding: utf-8 -*-
5
-
6
- Gem::Specification.new do |s|
7
- s.name = %q{ucengine.rb}
8
- s.version = "0.1.0"
9
-
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["AF83"]
12
- s.date = %q{2010-11-23}
13
- s.description = %q{ucengine.rb is a Ruby library to consume the UCEngine API}
14
- s.email = %q{victor.goya@af83.com}
15
- s.extra_rdoc_files = [
16
- "LICENSE",
17
- "README.rdoc"
18
- ]
19
- s.files = [
20
- ".document",
21
- ".gitignore",
22
- "LICENSE",
23
- "README.rdoc",
24
- "Rakefile",
25
- "VERSION",
26
- "lib/ucengine.rb",
27
- "test/helper.rb",
28
- "test/test_ucengine.rb.rb",
29
- "ucengine.rb.gemspec"
30
- ]
31
- s.homepage = %q{http://github.com/AF83/ucengine.rb}
32
- s.rdoc_options = ["--charset=UTF-8"]
33
- s.require_paths = ["lib"]
34
- s.rubygems_version = %q{1.3.7}
35
- s.summary = %q{Ruby library for UCEngine}
36
- s.test_files = [
37
- "test/helper.rb",
38
- "test/test_ucengine.rb.rb"
39
- ]
40
-
41
- if s.respond_to? :specification_version then
42
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
43
- s.specification_version = 3
44
-
45
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
46
- s.add_development_dependency(%q<thoughtbot-shoulda>, [">= 0"])
47
- s.add_runtime_dependency(%q<json>, [">= 0"])
48
- else
49
- s.add_dependency(%q<thoughtbot-shoulda>, [">= 0"])
50
- s.add_dependency(%q<json>, [">= 0"])
51
- end
52
- else
53
- s.add_dependency(%q<thoughtbot-shoulda>, [">= 0"])
54
- s.add_dependency(%q<json>, [">= 0"])
55
- end
56
- end
57
-