fabriq 0.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.
@@ -0,0 +1,71 @@
1
+ require_relative "../../helper"
2
+ require_relative "../../../lib/fabriq/skype"
3
+
4
+ describe Fabriq::Skype do
5
+
6
+ before do
7
+ @adapter = mock('Adapter')
8
+ Fabriq::Skype.adapter = @adapter
9
+ end
10
+
11
+ describe '#rooms' do
12
+ it "returns Fabriq::Adapter.rooms" do
13
+ @adapter.stubs(:rooms).returns( [ "r1", "r2" ] )
14
+ Fabriq::Skype.rooms.must_equal( ["r1", "r2"] )
15
+ end
16
+ end
17
+
18
+ describe '#room_by_id' do
19
+ it "returns the first matching room" do
20
+ room = stub('Room', :id => "room123")
21
+ @adapter.stubs(:rooms).returns([room])
22
+ Fabriq::Skype.room_by_id("room123").must_equal(room)
23
+ end
24
+
25
+ it "returns nil on no match" do
26
+ @adapter.stubs(:rooms).returns([])
27
+ Fabriq::Skype.room_by_id("room123").must_be_nil
28
+ end
29
+ end
30
+
31
+ describe '#send_message' do
32
+ it "appends messages to the outgoing-message-collection of the proxy" do
33
+ message = mock('Message')
34
+ @adapter.expects(:enqueue_outgoing_message).with(message)
35
+ Fabriq::Skype.send_message(message)
36
+ end
37
+ end
38
+
39
+ describe '#listen_for_messages_to_self' do
40
+ before do
41
+ @callback = -> {}
42
+ @message = mock('Message')
43
+ @message.stubs(:private_session?).returns(false)
44
+ @message.stubs(:direct?).returns(false)
45
+ @adapter.stubs(:subscribe_to_incoming_messages).yields(@message)
46
+ end
47
+
48
+ it "subscribes to incoming messages" do
49
+ @adapter.expects(:subscribe_to_incoming_messages)
50
+ Fabriq::Skype.listen_for_messages_to_self
51
+ end
52
+
53
+ it "does not yield the message by default" do
54
+ @callback.expects(:call).never
55
+ Fabriq::Skype.listen_for_messages_to_self(&@callback)
56
+ end
57
+
58
+ it "yields the received message if it was delivered to a private session" do
59
+ @callback.expects(:call).with(@message)
60
+ @message.stubs(:private_session?).returns(true)
61
+ Fabriq::Skype.listen_for_messages_to_self(&@callback)
62
+ end
63
+
64
+ it "yields the received message if its a direct message" do
65
+ @callback.expects(:call).with(@message)
66
+ @message.stubs(:direct?).returns(true)
67
+ Fabriq::Skype.listen_for_messages_to_self(&@callback)
68
+ end
69
+ end
70
+
71
+ end
@@ -0,0 +1,65 @@
1
+ require_relative "../helper"
2
+ require_relative "../../lib/fabriq"
3
+
4
+ describe Fabriq do
5
+
6
+ describe '.root' do
7
+ it "returns an instance of Pathname" do
8
+ Fabriq.root.must_be_kind_of(Pathname)
9
+ end
10
+
11
+ it "points to the current running root directory" do
12
+ Fabriq.root.to_s.must_equal(File.expand_path(File.join(File.dirname(__FILE__), "..", "..")))
13
+ end
14
+ end
15
+
16
+ describe '.config' do
17
+ it "yields Fabriq::Config to the provided block" do
18
+ Fabriq.config { |config| config.must_equal(Fabriq::Config) }
19
+ end
20
+ end
21
+
22
+ describe '.boot' do
23
+ before do
24
+ Fabriq::Config.stubs(:load)
25
+ Fabriq::Adapter.stubs(:load)
26
+ Fabriq::Adapter.stubs(:run).yields
27
+ Fabriq.stubs(:load_environment)
28
+ end
29
+
30
+ it "loads the Config module" do
31
+ Fabriq::Config.expects(:load)
32
+ Fabriq.boot
33
+ end
34
+
35
+ it "loads the Adapter module" do
36
+ Fabriq::Adapter.expects(:load)
37
+ Fabriq.boot
38
+ end
39
+
40
+ it "loads the runtime environment encapsuled in Adapter#run" do
41
+ Fabriq::Adapter.expects(:run).yields
42
+ Fabriq.expects(:load_environment)
43
+ Fabriq.boot
44
+ end
45
+ end
46
+
47
+ describe '.load_environment' do
48
+
49
+ it "initializes the PluginPort" do
50
+ Fabriq::PluginPort.expects(:initialize_plugins)
51
+ Fabriq.load_environment
52
+ end
53
+
54
+ describe 'with command line arguments' do
55
+ before do
56
+ Fabriq.stubs(:argv).returns(["args"])
57
+ end
58
+
59
+ it "run the CLI module" do
60
+ Fabriq::CLI.expects(:run).with(["args"])
61
+ Fabriq.load_environment
62
+ end
63
+ end
64
+ end
65
+ end
metadata ADDED
@@ -0,0 +1,146 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: fabriq
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Andreas Wolff
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-04-04 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rype
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: rdoc
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ type: :development
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: minitest
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: jeweler
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ~>
68
+ - !ruby/object:Gem::Version
69
+ version: 1.8.3
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ version: 1.8.3
78
+ description: A daemon that allows you to run Skype bots and give them power through
79
+ plugins.
80
+ email: rubyphunk@gmail.com
81
+ executables:
82
+ - fabriq
83
+ extensions: []
84
+ extra_rdoc_files:
85
+ - LICENSE.txt
86
+ - README.md
87
+ files:
88
+ - Gemfile
89
+ - Gemfile.lock
90
+ - LICENSE.txt
91
+ - README.md
92
+ - Rakefile
93
+ - TODO.md
94
+ - VERSION
95
+ - bin/fabriq
96
+ - fabriq.gemspec
97
+ - lib/fabriq.rb
98
+ - lib/fabriq/adapter.rb
99
+ - lib/fabriq/adapter/rype_adapter.rb
100
+ - lib/fabriq/cli.rb
101
+ - lib/fabriq/logging.rb
102
+ - lib/fabriq/plugin_port.rb
103
+ - lib/fabriq/skype.rb
104
+ - lib/fabriq/skype/message.rb
105
+ - lib/fabriq/skype/room.rb
106
+ - lib/fabriq/skype_proxy.rb
107
+ - spec/helper.rb
108
+ - spec/lib/fabriq/adapter_spec.rb
109
+ - spec/lib/fabriq/cli_spec.rb
110
+ - spec/lib/fabriq/config_spec.rb
111
+ - spec/lib/fabriq/logging_spec.rb
112
+ - spec/lib/fabriq/plugin_port_spec.rb
113
+ - spec/lib/fabriq/skype/message_spec.rb
114
+ - spec/lib/fabriq/skype/room_spec.rb
115
+ - spec/lib/fabriq/skype_proxy_spec.rb
116
+ - spec/lib/fabriq/skype_spec.rb
117
+ - spec/lib/fabriq_spec.rb
118
+ homepage: http://github.com/rubyphunk/fabriq
119
+ licenses:
120
+ - MIT
121
+ post_install_message:
122
+ rdoc_options: []
123
+ require_paths:
124
+ - lib
125
+ required_ruby_version: !ruby/object:Gem::Requirement
126
+ none: false
127
+ requirements:
128
+ - - ! '>='
129
+ - !ruby/object:Gem::Version
130
+ version: '0'
131
+ segments:
132
+ - 0
133
+ hash: -3097632142334878370
134
+ required_rubygems_version: !ruby/object:Gem::Requirement
135
+ none: false
136
+ requirements:
137
+ - - ! '>='
138
+ - !ruby/object:Gem::Version
139
+ version: '0'
140
+ requirements: []
141
+ rubyforge_project:
142
+ rubygems_version: 1.8.21
143
+ signing_key:
144
+ specification_version: 3
145
+ summary: A Skype bot fabriqation hall
146
+ test_files: []