adhearsion 1.2.3 → 1.2.4
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +3 -0
- data/adhearsion.gemspec +1 -2
- data/lib/adhearsion/commands.rb +3 -9
- data/lib/adhearsion/console.rb +11 -2
- data/lib/adhearsion/generators.rb +5 -0
- data/{app_generators/ahn → lib/adhearsion/generators/app}/USAGE +0 -0
- data/lib/adhearsion/generators/app/app_generator.rb +47 -0
- data/{app_generators/ahn → lib/adhearsion/generators/app}/templates/.ahnrc +0 -0
- data/{app_generators/ahn → lib/adhearsion/generators/app}/templates/Gemfile +1 -1
- data/{app_generators/ahn → lib/adhearsion/generators/app}/templates/README +0 -0
- data/{app_generators/ahn → lib/adhearsion/generators/app}/templates/Rakefile +0 -0
- data/{app_generators/ahn → lib/adhearsion/generators/app}/templates/components/ami_remote/ami_remote.rb +0 -0
- data/{app_generators/ahn → lib/adhearsion/generators/app}/templates/components/disabled/HOW_TO_ENABLE +0 -0
- data/{app_generators/ahn → lib/adhearsion/generators/app}/templates/components/disabled/stomp_gateway/README.markdown +0 -0
- data/{app_generators/ahn → lib/adhearsion/generators/app}/templates/components/disabled/stomp_gateway/stomp_gateway.rb +0 -0
- data/{app_generators/ahn → lib/adhearsion/generators/app}/templates/components/disabled/stomp_gateway/stomp_gateway.yml +0 -0
- data/{app_generators/ahn → lib/adhearsion/generators/app}/templates/components/disabled/xmpp_gateway/README.markdown +0 -0
- data/{app_generators/ahn → lib/adhearsion/generators/app}/templates/components/disabled/xmpp_gateway/xmpp_gateway.rb +0 -0
- data/{app_generators/ahn → lib/adhearsion/generators/app}/templates/components/disabled/xmpp_gateway/xmpp_gateway.yml +0 -0
- data/{app_generators/ahn → lib/adhearsion/generators/app}/templates/components/simon_game/simon_game.rb +0 -0
- data/{app_generators/ahn → lib/adhearsion/generators/app}/templates/config/environment.rb +0 -0
- data/{app_generators/ahn → lib/adhearsion/generators/app}/templates/config/startup.rb +0 -0
- data/{app_generators/ahn → lib/adhearsion/generators/app}/templates/dialplan.rb +0 -0
- data/{app_generators/ahn → lib/adhearsion/generators/app}/templates/events.rb +0 -0
- data/{app_generators/ahn → lib/adhearsion/generators/app}/templates/script/ahn +0 -0
- data/lib/adhearsion/version.rb +1 -1
- data/spec/adhearsion/cli_spec.rb +0 -1
- data/spec/spec_helper.rb +0 -1
- data/spec/support/initializer_stubs.rb +1 -1
- metadata +57 -67
- data/app_generators/ahn/ahn_generator.rb +0 -89
data/CHANGELOG
CHANGED
data/adhearsion.gemspec
CHANGED
@@ -27,12 +27,11 @@ Gem::Specification.new do |s|
|
|
27
27
|
# on the safe side.
|
28
28
|
s.add_runtime_dependency "i18n"
|
29
29
|
s.add_runtime_dependency "json"
|
30
|
-
s.add_runtime_dependency "
|
30
|
+
s.add_runtime_dependency "thor"
|
31
31
|
s.add_runtime_dependency "rake"
|
32
32
|
s.add_runtime_dependency "pry"
|
33
33
|
|
34
34
|
# Development dependencies
|
35
|
-
s.add_development_dependency 'rubigen', [">= 1.5.6"]
|
36
35
|
s.add_development_dependency 'rspec', [">= 2.4.0"]
|
37
36
|
s.add_development_dependency 'flexmock'
|
38
37
|
s.add_development_dependency 'activerecord', [">= 2.1.0"]
|
data/lib/adhearsion/commands.rb
CHANGED
@@ -91,15 +91,9 @@ USAGE
|
|
91
91
|
if args.size.zero?
|
92
92
|
raise CommandHandler::UnknownCommand.new("Must specify something to create!")
|
93
93
|
elsif args.size == 1
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
require 'rubigen/scripts/generate'
|
98
|
-
source = RubiGen::PathSource.new(:application,
|
99
|
-
File.join(File.dirname(__FILE__), "../../app_generators"))
|
100
|
-
RubiGen::Base.reset_sources
|
101
|
-
RubiGen::Base.append_sources source
|
102
|
-
RubiGen::Scripts::Generate.new.run([path], :generator => 'ahn')
|
94
|
+
require 'adhearsion/generators'
|
95
|
+
require 'adhearsion/generators/app/app_generator'
|
96
|
+
Adhearsion::Generators::AppGenerator.start
|
103
97
|
elsif args.size == 2
|
104
98
|
# We're creating a feature (e.g. a component)
|
105
99
|
feature_type, component_name = args
|
data/lib/adhearsion/console.rb
CHANGED
@@ -9,8 +9,17 @@ module Adhearsion
|
|
9
9
|
# Start the Adhearsion console
|
10
10
|
#
|
11
11
|
def run
|
12
|
-
Pry.prompt = [
|
13
|
-
|
12
|
+
Pry.prompt = [
|
13
|
+
proc do |*args|
|
14
|
+
obj, nest_level, pry_instance = args
|
15
|
+
"AHN#{' ' * nest_level}> "
|
16
|
+
end,
|
17
|
+
proc do |*args|
|
18
|
+
obj, nest_level, pry_instance = args
|
19
|
+
"AHN#{' ' * nest_level}? "
|
20
|
+
end
|
21
|
+
]
|
22
|
+
Pry.config.command_prefix = "%"
|
14
23
|
pry
|
15
24
|
end
|
16
25
|
|
File without changes
|
@@ -0,0 +1,47 @@
|
|
1
|
+
begin
|
2
|
+
require 'thor/group'
|
3
|
+
rescue LoadError
|
4
|
+
puts "Thor is not available.\nIf you ran this command from a git checkout " \
|
5
|
+
"of Adhearsion, please make sure thor is installed,\nand run this command " \
|
6
|
+
"as `ruby #{$0} #{(ARGV | ['--dev']).join(" ")}`"
|
7
|
+
exit
|
8
|
+
end
|
9
|
+
|
10
|
+
module Adhearsion
|
11
|
+
module Generators
|
12
|
+
class AppGenerator < Thor::Group
|
13
|
+
include Thor::Actions
|
14
|
+
|
15
|
+
BASEDIRS = %w{
|
16
|
+
components
|
17
|
+
config
|
18
|
+
script
|
19
|
+
}
|
20
|
+
|
21
|
+
argument :app_action, :type => :string
|
22
|
+
argument :app_path, :type => :string
|
23
|
+
|
24
|
+
def self.source_root(path = nil)
|
25
|
+
path = File.join(base_root, 'templates')
|
26
|
+
path if File.exists?(path)
|
27
|
+
end
|
28
|
+
|
29
|
+
def self.base_root
|
30
|
+
File.dirname(__FILE__)
|
31
|
+
end
|
32
|
+
|
33
|
+
def setup_project
|
34
|
+
self.destination_root = @app_path
|
35
|
+
BASEDIRS.each { |dir| directory dir }
|
36
|
+
%w{
|
37
|
+
.ahnrc
|
38
|
+
dialplan.rb
|
39
|
+
events.rb
|
40
|
+
README
|
41
|
+
Rakefile
|
42
|
+
Gemfile
|
43
|
+
}.each { |file| copy_file file }
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/lib/adhearsion/version.rb
CHANGED
data/spec/adhearsion/cli_spec.rb
CHANGED
@@ -264,7 +264,6 @@ describe 'The "create" command' do
|
|
264
264
|
the_following_code {
|
265
265
|
tmp_path = new_tmp_dir
|
266
266
|
simulate_args "create", tmp_path
|
267
|
-
RubiGen::Base.default_options.merge! :quiet => true
|
268
267
|
# capture_stdout { Adhearsion::CLI::AhnCommand.execute! }
|
269
268
|
execute_ahn_command
|
270
269
|
File.exists?(File.join(tmp_path, ".ahnrc")).should be true
|
data/spec/spec_helper.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
module InitializerStubs
|
2
2
|
DEFAULT_AHNRC_DATA_STRUCTURE = YAML.load_file(
|
3
|
-
File.dirname(__FILE__) + "/../../
|
3
|
+
File.dirname(__FILE__) + "/../../lib/adhearsion/generators/app/templates/.ahnrc"
|
4
4
|
) unless defined? DEFAULT_AHNRC_DATA_STRUCTURE
|
5
5
|
|
6
6
|
UNWANTED_BEHAVIOR = {
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: adhearsion
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -12,11 +12,11 @@ authors:
|
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date:
|
15
|
+
date: 2012-01-26 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: bundler
|
19
|
-
requirement: &
|
19
|
+
requirement: &2152387620 !ruby/object:Gem::Requirement
|
20
20
|
none: false
|
21
21
|
requirements:
|
22
22
|
- - ! '>='
|
@@ -24,10 +24,10 @@ dependencies:
|
|
24
24
|
version: 1.0.10
|
25
25
|
type: :runtime
|
26
26
|
prerelease: false
|
27
|
-
version_requirements: *
|
27
|
+
version_requirements: *2152387620
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: log4r
|
30
|
-
requirement: &
|
30
|
+
requirement: &2152387100 !ruby/object:Gem::Requirement
|
31
31
|
none: false
|
32
32
|
requirements:
|
33
33
|
- - ! '>='
|
@@ -35,10 +35,10 @@ dependencies:
|
|
35
35
|
version: 1.0.5
|
36
36
|
type: :runtime
|
37
37
|
prerelease: false
|
38
|
-
version_requirements: *
|
38
|
+
version_requirements: *2152387100
|
39
39
|
- !ruby/object:Gem::Dependency
|
40
40
|
name: activesupport
|
41
|
-
requirement: &
|
41
|
+
requirement: &2152386600 !ruby/object:Gem::Requirement
|
42
42
|
none: false
|
43
43
|
requirements:
|
44
44
|
- - ! '>='
|
@@ -46,10 +46,10 @@ dependencies:
|
|
46
46
|
version: 2.1.0
|
47
47
|
type: :runtime
|
48
48
|
prerelease: false
|
49
|
-
version_requirements: *
|
49
|
+
version_requirements: *2152386600
|
50
50
|
- !ruby/object:Gem::Dependency
|
51
51
|
name: i18n
|
52
|
-
requirement: &
|
52
|
+
requirement: &2152386200 !ruby/object:Gem::Requirement
|
53
53
|
none: false
|
54
54
|
requirements:
|
55
55
|
- - ! '>='
|
@@ -57,10 +57,10 @@ dependencies:
|
|
57
57
|
version: '0'
|
58
58
|
type: :runtime
|
59
59
|
prerelease: false
|
60
|
-
version_requirements: *
|
60
|
+
version_requirements: *2152386200
|
61
61
|
- !ruby/object:Gem::Dependency
|
62
62
|
name: json
|
63
|
-
requirement: &
|
63
|
+
requirement: &2152385680 !ruby/object:Gem::Requirement
|
64
64
|
none: false
|
65
65
|
requirements:
|
66
66
|
- - ! '>='
|
@@ -68,21 +68,21 @@ dependencies:
|
|
68
68
|
version: '0'
|
69
69
|
type: :runtime
|
70
70
|
prerelease: false
|
71
|
-
version_requirements: *
|
71
|
+
version_requirements: *2152385680
|
72
72
|
- !ruby/object:Gem::Dependency
|
73
|
-
name:
|
74
|
-
requirement: &
|
73
|
+
name: thor
|
74
|
+
requirement: &2152385260 !ruby/object:Gem::Requirement
|
75
75
|
none: false
|
76
76
|
requirements:
|
77
77
|
- - ! '>='
|
78
78
|
- !ruby/object:Gem::Version
|
79
|
-
version:
|
79
|
+
version: '0'
|
80
80
|
type: :runtime
|
81
81
|
prerelease: false
|
82
|
-
version_requirements: *
|
82
|
+
version_requirements: *2152385260
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: rake
|
85
|
-
requirement: &
|
85
|
+
requirement: &2152384840 !ruby/object:Gem::Requirement
|
86
86
|
none: false
|
87
87
|
requirements:
|
88
88
|
- - ! '>='
|
@@ -90,10 +90,10 @@ dependencies:
|
|
90
90
|
version: '0'
|
91
91
|
type: :runtime
|
92
92
|
prerelease: false
|
93
|
-
version_requirements: *
|
93
|
+
version_requirements: *2152384840
|
94
94
|
- !ruby/object:Gem::Dependency
|
95
95
|
name: pry
|
96
|
-
requirement: &
|
96
|
+
requirement: &2152384380 !ruby/object:Gem::Requirement
|
97
97
|
none: false
|
98
98
|
requirements:
|
99
99
|
- - ! '>='
|
@@ -101,21 +101,10 @@ dependencies:
|
|
101
101
|
version: '0'
|
102
102
|
type: :runtime
|
103
103
|
prerelease: false
|
104
|
-
version_requirements: *
|
105
|
-
- !ruby/object:Gem::Dependency
|
106
|
-
name: rubigen
|
107
|
-
requirement: &2160498080 !ruby/object:Gem::Requirement
|
108
|
-
none: false
|
109
|
-
requirements:
|
110
|
-
- - ! '>='
|
111
|
-
- !ruby/object:Gem::Version
|
112
|
-
version: 1.5.6
|
113
|
-
type: :development
|
114
|
-
prerelease: false
|
115
|
-
version_requirements: *2160498080
|
104
|
+
version_requirements: *2152384380
|
116
105
|
- !ruby/object:Gem::Dependency
|
117
106
|
name: rspec
|
118
|
-
requirement: &
|
107
|
+
requirement: &2152383840 !ruby/object:Gem::Requirement
|
119
108
|
none: false
|
120
109
|
requirements:
|
121
110
|
- - ! '>='
|
@@ -123,10 +112,10 @@ dependencies:
|
|
123
112
|
version: 2.4.0
|
124
113
|
type: :development
|
125
114
|
prerelease: false
|
126
|
-
version_requirements: *
|
115
|
+
version_requirements: *2152383840
|
127
116
|
- !ruby/object:Gem::Dependency
|
128
117
|
name: flexmock
|
129
|
-
requirement: &
|
118
|
+
requirement: &2152383380 !ruby/object:Gem::Requirement
|
130
119
|
none: false
|
131
120
|
requirements:
|
132
121
|
- - ! '>='
|
@@ -134,10 +123,10 @@ dependencies:
|
|
134
123
|
version: '0'
|
135
124
|
type: :development
|
136
125
|
prerelease: false
|
137
|
-
version_requirements: *
|
126
|
+
version_requirements: *2152383380
|
138
127
|
- !ruby/object:Gem::Dependency
|
139
128
|
name: activerecord
|
140
|
-
requirement: &
|
129
|
+
requirement: &2152382820 !ruby/object:Gem::Requirement
|
141
130
|
none: false
|
142
131
|
requirements:
|
143
132
|
- - ! '>='
|
@@ -145,10 +134,10 @@ dependencies:
|
|
145
134
|
version: 2.1.0
|
146
135
|
type: :development
|
147
136
|
prerelease: false
|
148
|
-
version_requirements: *
|
137
|
+
version_requirements: *2152382820
|
149
138
|
- !ruby/object:Gem::Dependency
|
150
139
|
name: rake
|
151
|
-
requirement: &
|
140
|
+
requirement: &2152382360 !ruby/object:Gem::Requirement
|
152
141
|
none: false
|
153
142
|
requirements:
|
154
143
|
- - ! '>='
|
@@ -156,10 +145,10 @@ dependencies:
|
|
156
145
|
version: '0'
|
157
146
|
type: :development
|
158
147
|
prerelease: false
|
159
|
-
version_requirements: *
|
148
|
+
version_requirements: *2152382360
|
160
149
|
- !ruby/object:Gem::Dependency
|
161
150
|
name: simplecov
|
162
|
-
requirement: &
|
151
|
+
requirement: &2152381860 !ruby/object:Gem::Requirement
|
163
152
|
none: false
|
164
153
|
requirements:
|
165
154
|
- - ! '>='
|
@@ -167,10 +156,10 @@ dependencies:
|
|
167
156
|
version: '0'
|
168
157
|
type: :development
|
169
158
|
prerelease: false
|
170
|
-
version_requirements: *
|
159
|
+
version_requirements: *2152381860
|
171
160
|
- !ruby/object:Gem::Dependency
|
172
161
|
name: simplecov-rcov
|
173
|
-
requirement: &
|
162
|
+
requirement: &2152381440 !ruby/object:Gem::Requirement
|
174
163
|
none: false
|
175
164
|
requirements:
|
176
165
|
- - ! '>='
|
@@ -178,10 +167,10 @@ dependencies:
|
|
178
167
|
version: '0'
|
179
168
|
type: :development
|
180
169
|
prerelease: false
|
181
|
-
version_requirements: *
|
170
|
+
version_requirements: *2152381440
|
182
171
|
- !ruby/object:Gem::Dependency
|
183
172
|
name: ci_reporter
|
184
|
-
requirement: &
|
173
|
+
requirement: &2152397320 !ruby/object:Gem::Requirement
|
185
174
|
none: false
|
186
175
|
requirements:
|
187
176
|
- - ! '>='
|
@@ -189,7 +178,7 @@ dependencies:
|
|
189
178
|
version: '0'
|
190
179
|
type: :development
|
191
180
|
prerelease: false
|
192
|
-
version_requirements: *
|
181
|
+
version_requirements: *2152397320
|
193
182
|
description: Adhearsion is an open-source telephony development framework
|
194
183
|
email: dev&Adhearsion.com
|
195
184
|
executables:
|
@@ -208,26 +197,6 @@ files:
|
|
208
197
|
- README.markdown
|
209
198
|
- Rakefile
|
210
199
|
- adhearsion.gemspec
|
211
|
-
- app_generators/ahn/USAGE
|
212
|
-
- app_generators/ahn/ahn_generator.rb
|
213
|
-
- app_generators/ahn/templates/.ahnrc
|
214
|
-
- app_generators/ahn/templates/Gemfile
|
215
|
-
- app_generators/ahn/templates/README
|
216
|
-
- app_generators/ahn/templates/Rakefile
|
217
|
-
- app_generators/ahn/templates/components/ami_remote/ami_remote.rb
|
218
|
-
- app_generators/ahn/templates/components/disabled/HOW_TO_ENABLE
|
219
|
-
- app_generators/ahn/templates/components/disabled/stomp_gateway/README.markdown
|
220
|
-
- app_generators/ahn/templates/components/disabled/stomp_gateway/stomp_gateway.rb
|
221
|
-
- app_generators/ahn/templates/components/disabled/stomp_gateway/stomp_gateway.yml
|
222
|
-
- app_generators/ahn/templates/components/disabled/xmpp_gateway/README.markdown
|
223
|
-
- app_generators/ahn/templates/components/disabled/xmpp_gateway/xmpp_gateway.rb
|
224
|
-
- app_generators/ahn/templates/components/disabled/xmpp_gateway/xmpp_gateway.yml
|
225
|
-
- app_generators/ahn/templates/components/simon_game/simon_game.rb
|
226
|
-
- app_generators/ahn/templates/config/environment.rb
|
227
|
-
- app_generators/ahn/templates/config/startup.rb
|
228
|
-
- app_generators/ahn/templates/dialplan.rb
|
229
|
-
- app_generators/ahn/templates/events.rb
|
230
|
-
- app_generators/ahn/templates/script/ahn
|
231
200
|
- bin/ahn
|
232
201
|
- bin/ahnctl
|
233
202
|
- bin/jahn
|
@@ -253,6 +222,27 @@ files:
|
|
253
222
|
- lib/adhearsion/foundation/string.rb
|
254
223
|
- lib/adhearsion/foundation/synchronized_hash.rb
|
255
224
|
- lib/adhearsion/foundation/thread_safety.rb
|
225
|
+
- lib/adhearsion/generators.rb
|
226
|
+
- lib/adhearsion/generators/app/USAGE
|
227
|
+
- lib/adhearsion/generators/app/app_generator.rb
|
228
|
+
- lib/adhearsion/generators/app/templates/.ahnrc
|
229
|
+
- lib/adhearsion/generators/app/templates/Gemfile
|
230
|
+
- lib/adhearsion/generators/app/templates/README
|
231
|
+
- lib/adhearsion/generators/app/templates/Rakefile
|
232
|
+
- lib/adhearsion/generators/app/templates/components/ami_remote/ami_remote.rb
|
233
|
+
- lib/adhearsion/generators/app/templates/components/disabled/HOW_TO_ENABLE
|
234
|
+
- lib/adhearsion/generators/app/templates/components/disabled/stomp_gateway/README.markdown
|
235
|
+
- lib/adhearsion/generators/app/templates/components/disabled/stomp_gateway/stomp_gateway.rb
|
236
|
+
- lib/adhearsion/generators/app/templates/components/disabled/stomp_gateway/stomp_gateway.yml
|
237
|
+
- lib/adhearsion/generators/app/templates/components/disabled/xmpp_gateway/README.markdown
|
238
|
+
- lib/adhearsion/generators/app/templates/components/disabled/xmpp_gateway/xmpp_gateway.rb
|
239
|
+
- lib/adhearsion/generators/app/templates/components/disabled/xmpp_gateway/xmpp_gateway.yml
|
240
|
+
- lib/adhearsion/generators/app/templates/components/simon_game/simon_game.rb
|
241
|
+
- lib/adhearsion/generators/app/templates/config/environment.rb
|
242
|
+
- lib/adhearsion/generators/app/templates/config/startup.rb
|
243
|
+
- lib/adhearsion/generators/app/templates/dialplan.rb
|
244
|
+
- lib/adhearsion/generators/app/templates/events.rb
|
245
|
+
- lib/adhearsion/generators/app/templates/script/ahn
|
256
246
|
- lib/adhearsion/host_definitions.rb
|
257
247
|
- lib/adhearsion/initializer.rb
|
258
248
|
- lib/adhearsion/initializer/asterisk.rb
|
@@ -377,7 +367,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
377
367
|
version: '0'
|
378
368
|
segments:
|
379
369
|
- 0
|
380
|
-
hash:
|
370
|
+
hash: 2749044386952630171
|
381
371
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
382
372
|
none: false
|
383
373
|
requirements:
|
@@ -386,7 +376,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
386
376
|
version: '0'
|
387
377
|
segments:
|
388
378
|
- 0
|
389
|
-
hash:
|
379
|
+
hash: 2749044386952630171
|
390
380
|
requirements: []
|
391
381
|
rubyforge_project:
|
392
382
|
rubygems_version: 1.8.10
|
@@ -1,89 +0,0 @@
|
|
1
|
-
class AhnGenerator < RubiGen::Base
|
2
|
-
|
3
|
-
DEFAULT_SHEBANG = File.join(Config::CONFIG['bindir'],
|
4
|
-
Config::CONFIG['ruby_install_name'])
|
5
|
-
|
6
|
-
default_options :author => nil
|
7
|
-
|
8
|
-
attr_reader :name, :component
|
9
|
-
|
10
|
-
def initialize(runtime_args, runtime_options = {})
|
11
|
-
super
|
12
|
-
usage if args.empty?
|
13
|
-
@destination_root = File.expand_path(args.shift)
|
14
|
-
@name = base_name
|
15
|
-
@component = 'simon_game'
|
16
|
-
extract_options
|
17
|
-
end
|
18
|
-
|
19
|
-
def manifest
|
20
|
-
record do |m|
|
21
|
-
# Ensure appropriate folder(s) exists
|
22
|
-
m.directory ''
|
23
|
-
BASEDIRS.each { |path| m.directory path }
|
24
|
-
|
25
|
-
m.file *[".ahnrc"]*2
|
26
|
-
|
27
|
-
m.file *["components/simon_game/simon_game.rb"]*2
|
28
|
-
m.file *["components/ami_remote/ami_remote.rb"]*2
|
29
|
-
|
30
|
-
m.file *["components/disabled/xmpp_gateway/xmpp_gateway.rb"]*2
|
31
|
-
m.file *["components/disabled/xmpp_gateway/xmpp_gateway.yml"]*2
|
32
|
-
m.file *["components/disabled/xmpp_gateway/README.markdown"]*2
|
33
|
-
|
34
|
-
m.file *["components/disabled/stomp_gateway/stomp_gateway.rb"]*2
|
35
|
-
m.file *["components/disabled/stomp_gateway/stomp_gateway.yml"]*2
|
36
|
-
m.file *["components/disabled/stomp_gateway/README.markdown"]*2
|
37
|
-
|
38
|
-
m.file *["config/environment.rb"]*2
|
39
|
-
m.file *["config/startup.rb"]*2
|
40
|
-
m.file *["dialplan.rb"]*2
|
41
|
-
m.file *["events.rb"]*2
|
42
|
-
m.file *["README"]*2
|
43
|
-
m.file *["Rakefile"]*2
|
44
|
-
m.file *["Gemfile"]*2
|
45
|
-
m.file *["script/ahn"]*2
|
46
|
-
|
47
|
-
# m.dependency "install_rubigen_scripts", [destination_root, 'ahn', 'adhearsion', 'test_spec'],
|
48
|
-
# :shebang => options[:shebang], :collision => :force
|
49
|
-
end
|
50
|
-
end
|
51
|
-
|
52
|
-
protected
|
53
|
-
def banner
|
54
|
-
<<-EOS
|
55
|
-
Creates a ...
|
56
|
-
|
57
|
-
USAGE: #{spec.name} name"
|
58
|
-
EOS
|
59
|
-
end
|
60
|
-
|
61
|
-
def add_options!(opts)
|
62
|
-
opts.separator ''
|
63
|
-
opts.separator 'Options:'
|
64
|
-
# For each option below, place the default
|
65
|
-
# at the top of the file next to "default_options"
|
66
|
-
# opts.on("-a", "--author=\"Your Name\"", String,
|
67
|
-
# "Some comment about this option",
|
68
|
-
# "Default: none") { |options[:author]| }
|
69
|
-
opts.on("-v", "--version", "Show the #{File.basename($0)} version number and quit.")
|
70
|
-
end
|
71
|
-
|
72
|
-
def extract_options
|
73
|
-
# for each option, extract it into a local variable (and create an "attr_reader :author" at the top)
|
74
|
-
# Templates can access these value via the attr_reader-generated methods, but not the
|
75
|
-
# raw instance variable value.
|
76
|
-
# @author = options[:author]
|
77
|
-
end
|
78
|
-
|
79
|
-
# Installation skeleton. Intermediate directories are automatically
|
80
|
-
# created so don't sweat their absence here.
|
81
|
-
BASEDIRS = %w(
|
82
|
-
components/simon_game
|
83
|
-
components/disabled/stomp_gateway
|
84
|
-
components/disabled/xmpp_gateway
|
85
|
-
components/ami_remote
|
86
|
-
config
|
87
|
-
script
|
88
|
-
)
|
89
|
-
end
|