appjam 0.1.8.pre → 0.1.8.pre3

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/README.md CHANGED
@@ -85,7 +85,7 @@ Usage 6: add kissxml submodule (## this require mercurial installed)
85
85
  -------
86
86
  $ cd todo
87
87
 
88
- $ appjam submodule json
88
+ $ appjam submodule kissxml
89
89
 
90
90
  $ open Todo.xcodeproj
91
91
 
data/lib/appjam.rb CHANGED
@@ -59,8 +59,4 @@ end # Appjam
59
59
  #
60
60
  Appjam::Generators.load_paths << Dir[File.dirname(__FILE__) + '/appjam/generators/{project,model,submodule,gist}.rb']
61
61
 
62
- ##
63
- # We add our gists to Appjam::Genererator
64
- #
65
- Appjam::Generators.load_paths << Dir[File.dirname(__FILE__) + '/appjam/generators/gist/*.rb']
66
62
 
@@ -54,10 +54,18 @@ module Appjam
54
54
  ]
55
55
  View.render(opt, RENDER_OPTIONS)
56
56
  puts
57
- puts colorize("Gist Option")
58
- gitopt = [
59
- { :category => "singleton", :command => "appjam gist singleton", :description => "Simple Singleton Objective C Snippet"}
60
- ]
57
+ puts colorize("Gist Sub Options")
58
+ gitopt = []
59
+ require 'yaml'
60
+ g = YAML.load_file(File.expand_path(File.dirname(__FILE__) + '/gist.yml'))
61
+
62
+ g.each_pair {|key,value|
63
+ g[key].each { |k|
64
+ k.each_pair { |k1,v1|
65
+ gitopt << {:category => "design pattern", :command => "appjam gist #{k1}", :description => "#{k[k1][2]['description']}" }
66
+ }
67
+ }
68
+ }
61
69
  View.render(gitopt, RENDER_OPTIONS)
62
70
  puts
63
71
  end
@@ -21,7 +21,7 @@ module Appjam
21
21
  }
22
22
  end
23
23
  end
24
- attr_rw :gist_name, :gist_description, :gist_id, :gist_body
24
+ attr_rw :gist_name, :gist_description, :gist_id, :gist_body
25
25
  def preview_gist(gid)
26
26
  uri = URI("https://gist.github.com/#{gid}.txt")
27
27
  http = Net::HTTP.new(uri.host, uri.port)
@@ -36,7 +36,7 @@ module Appjam
36
36
  tempfile.close
37
37
 
38
38
  if system('which qlmanage')
39
- system("qlmanage -c public.plain-text -p #{tempfile.path} >& /dev/null")
39
+ system("qlmanage -p #{tempfile.path} >& /dev/null")
40
40
  end
41
41
  end
42
42
 
@@ -60,17 +60,29 @@ module Appjam
60
60
  end
61
61
  end
62
62
 
63
- def download_gist(gist_id)
64
- puts "-- fetching gist --"
65
- puts "#{gist_id}.git"
66
- if File.directory?("Support/#{gist_id}")
67
- `cd Support/#{gist_id} && git pull ; cd ..`
68
- else
69
- `git clone git://gist.github.com/#{gist_id}.git Support/#{gist_id}`
63
+ def download_gist(gist_id,git_category,gist_name)
64
+ puts "-- fetching gist [#{gist_name}] --"
65
+ # require 'uri'
66
+ # require 'yajl/http_stream'
67
+ #
68
+ # uri = URI.parse("http://gist.github.com/api/v1/json/#{gist_id}")
69
+ # Yajl::HttpStream.get(uri, :symbolize_keys => true) do |hash|
70
+ #
71
+ # end
72
+ if File.directory?("Support/#{git_category}/#{gist_name}")
73
+ `rm -rf Support/#{git_category}/#{gist_name}`
74
+ end
75
+ `git clone git://gist.github.com/#{gist_id}.git Support/#{git_category}/#{gist_name} && rm -rf Support/#{git_category}/#{gist_name}/.git`
76
+ if system('which qlmanage')
77
+ system("qlmanage -p Support/#{git_category}/#{gist_name}/*.* >& /dev/null")
70
78
  end
71
79
  end
72
80
  end
73
-
81
+
82
+ gist_name "singleton"
83
+ gist_id "https://gist.github.com/979981"
84
+ gist_description "Singletons in Objective C"
85
+
74
86
  # Add this generator to our appjam
75
87
  Appjam::Generators.add_generator(:gist, self)
76
88
 
@@ -93,8 +105,45 @@ module Appjam
93
105
  File.exist?('Classes')
94
106
  end
95
107
 
96
- def create_gist
97
-
108
+ def create_git
109
+ if in_app_root?
110
+ valid_constant?(options[:gist] || name)
111
+ @gist_name = (options[:app] || name).gsub(/W/, "_").downcase
112
+ @class_name = (options[:app] || name).gsub(/W/, "_").capitalize
113
+ @xcode_project_name = File.basename(Dir.glob('*.xcodeproj')[0],'.xcodeproj').downcase
114
+ @developer = "eiffel"
115
+ @created_on = Date.today.to_s
116
+ self.destination_root = options[:root]
117
+
118
+ require 'yaml'
119
+ g = YAML.load_file(File.expand_path(File.dirname(__FILE__) + '/gist.yml'))
120
+ g.each_pair {|key,value|
121
+ gcategory = key.downcase
122
+ g[key].each { |k|
123
+ k.each_pair { |k1,v1|
124
+ if "#{k1}" == @gist_name
125
+ gid = k[k1][0]['id']
126
+ gname = k[k1][1]['name'].downcase
127
+ Gist::download_gist("#{gid}".to_i,gcategory,gname)
128
+ eval(File.read(__FILE__) =~ /^__END__/ && $' || '')
129
+ say "================================================================="
130
+ say "Your '#{gname.capitalize}' design pattern snippet has been generated."
131
+ say "Check Support/#{gcategory}/#{gname}/ for Snippet"
132
+ say "Open #{@xcode_project_name.capitalize}.xcodeproj"
133
+ say "Add 'Support/#{gcategory}/#{gname}/' folder to the 'Classes/apps' Group"
134
+ say "Build and Run"
135
+ say "================================================================="
136
+ end
137
+ }
138
+ }
139
+ }
140
+ else
141
+ puts
142
+ puts '-'*70
143
+ puts "You are not in an iphone project folder"
144
+ puts '-'*70
145
+ puts
146
+ end
98
147
  end
99
148
 
100
149
  end # Gist
@@ -0,0 +1,12 @@
1
+ ---
2
+ design_pattern:
3
+ - singleton:
4
+ - id : 979981
5
+ - name : Singleton
6
+ - description : Singleton Snippet for Objective C
7
+ - email : eiffelqiu@gmail.com
8
+ - delegate:
9
+ - id : 985279
10
+ - name : Delegation
11
+ - description : Delegation Snippet for Objective C
12
+ - email : eiffelqiu@gmail.com
@@ -3,7 +3,7 @@ module Appjam
3
3
  MAJOR = 0
4
4
  MINOR = 1
5
5
  PATCH = 8
6
- BUILD = 'pre'
6
+ BUILD = 'pre3'
7
7
 
8
8
  STRING = [MAJOR, MINOR, PATCH, BUILD].compact.join('.').chomp('.')
9
9
  end
metadata CHANGED
@@ -1,14 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: appjam
3
3
  version: !ruby/object:Gem::Version
4
- hash: 961916012
4
+ hash: 1923832063
5
5
  prerelease: 6
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
9
  - 8
10
10
  - pre
11
- version: 0.1.8.pre
11
+ - 3
12
+ version: 0.1.8.pre3
12
13
  platform: ruby
13
14
  authors:
14
15
  - Eiffel Q
@@ -16,7 +17,7 @@ autorequire:
16
17
  bindir: bin
17
18
  cert_chain: []
18
19
 
19
- date: 2011-05-20 00:00:00 Z
20
+ date: 2011-05-22 00:00:00 Z
20
21
  dependencies:
21
22
  - !ruby/object:Gem::Dependency
22
23
  type: :runtime
@@ -75,8 +76,22 @@ dependencies:
75
76
  name: hirb
76
77
  prerelease: false
77
78
  - !ruby/object:Gem::Dependency
78
- type: :development
79
+ type: :runtime
79
80
  requirement: &id005 !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ">="
84
+ - !ruby/object:Gem::Version
85
+ hash: 3
86
+ segments:
87
+ - 0
88
+ version: "0"
89
+ version_requirements: *id005
90
+ name: yajl-ruby
91
+ prerelease: false
92
+ - !ruby/object:Gem::Dependency
93
+ type: :development
94
+ requirement: &id006 !ruby/object:Gem::Requirement
80
95
  none: false
81
96
  requirements:
82
97
  - - ">="
@@ -87,12 +102,12 @@ dependencies:
87
102
  - 8
88
103
  - 7
89
104
  version: 0.8.7
90
- version_requirements: *id005
105
+ version_requirements: *id006
91
106
  name: rake
92
107
  prerelease: false
93
108
  - !ruby/object:Gem::Dependency
94
109
  type: :development
95
- requirement: &id006 !ruby/object:Gem::Requirement
110
+ requirement: &id007 !ruby/object:Gem::Requirement
96
111
  none: false
97
112
  requirements:
98
113
  - - ">="
@@ -103,12 +118,12 @@ dependencies:
103
118
  - 9
104
119
  - 8
105
120
  version: 0.9.8
106
- version_requirements: *id006
121
+ version_requirements: *id007
107
122
  name: mocha
108
123
  prerelease: false
109
124
  - !ruby/object:Gem::Dependency
110
125
  type: :development
111
- requirement: &id007 !ruby/object:Gem::Requirement
126
+ requirement: &id008 !ruby/object:Gem::Requirement
112
127
  none: false
113
128
  requirements:
114
129
  - - ">="
@@ -119,12 +134,12 @@ dependencies:
119
134
  - 5
120
135
  - 0
121
136
  version: 0.5.0
122
- version_requirements: *id007
137
+ version_requirements: *id008
123
138
  name: rack-test
124
139
  prerelease: false
125
140
  - !ruby/object:Gem::Dependency
126
141
  type: :development
127
- requirement: &id008 !ruby/object:Gem::Requirement
142
+ requirement: &id009 !ruby/object:Gem::Requirement
128
143
  none: false
129
144
  requirements:
130
145
  - - ">="
@@ -135,12 +150,12 @@ dependencies:
135
150
  - 2
136
151
  - 8
137
152
  version: 1.2.8
138
- version_requirements: *id008
153
+ version_requirements: *id009
139
154
  name: fakeweb
140
155
  prerelease: false
141
156
  - !ruby/object:Gem::Dependency
142
157
  type: :development
143
- requirement: &id009 !ruby/object:Gem::Requirement
158
+ requirement: &id010 !ruby/object:Gem::Requirement
144
159
  none: false
145
160
  requirements:
146
161
  - - "="
@@ -151,12 +166,12 @@ dependencies:
151
166
  - 5
152
167
  - 1
153
168
  version: 0.5.1
154
- version_requirements: *id009
169
+ version_requirements: *id010
155
170
  name: webrat
156
171
  prerelease: false
157
172
  - !ruby/object:Gem::Dependency
158
173
  type: :development
159
- requirement: &id010 !ruby/object:Gem::Requirement
174
+ requirement: &id011 !ruby/object:Gem::Requirement
160
175
  none: false
161
176
  requirements:
162
177
  - - ">="
@@ -167,12 +182,12 @@ dependencies:
167
182
  - 10
168
183
  - 3
169
184
  version: 2.10.3
170
- version_requirements: *id010
185
+ version_requirements: *id011
171
186
  name: shoulda
172
187
  prerelease: false
173
188
  - !ruby/object:Gem::Dependency
174
189
  type: :development
175
- requirement: &id011 !ruby/object:Gem::Requirement
190
+ requirement: &id012 !ruby/object:Gem::Requirement
176
191
  none: false
177
192
  requirements:
178
193
  - - ">="
@@ -183,12 +198,12 @@ dependencies:
183
198
  - 3
184
199
  - 1
185
200
  version: 2.3.1
186
- version_requirements: *id011
201
+ version_requirements: *id012
187
202
  name: uuid
188
203
  prerelease: false
189
204
  - !ruby/object:Gem::Dependency
190
205
  type: :development
191
- requirement: &id012 !ruby/object:Gem::Requirement
206
+ requirement: &id013 !ruby/object:Gem::Requirement
192
207
  none: false
193
208
  requirements:
194
209
  - - ">="
@@ -199,12 +214,12 @@ dependencies:
199
214
  - 1
200
215
  - 2
201
216
  version: 2.1.2
202
- version_requirements: *id012
217
+ version_requirements: *id013
203
218
  name: builder
204
219
  prerelease: false
205
220
  - !ruby/object:Gem::Dependency
206
221
  type: :development
207
- requirement: &id013 !ruby/object:Gem::Requirement
222
+ requirement: &id014 !ruby/object:Gem::Requirement
208
223
  none: false
209
224
  requirements:
210
225
  - - ~>
@@ -215,12 +230,12 @@ dependencies:
215
230
  - 5
216
231
  - 2
217
232
  version: 1.5.2
218
- version_requirements: *id013
233
+ version_requirements: *id014
219
234
  name: jeweler
220
235
  prerelease: false
221
236
  - !ruby/object:Gem::Dependency
222
237
  type: :development
223
- requirement: &id014 !ruby/object:Gem::Requirement
238
+ requirement: &id015 !ruby/object:Gem::Requirement
224
239
  none: false
225
240
  requirements:
226
241
  - - ~>
@@ -231,12 +246,12 @@ dependencies:
231
246
  - 9
232
247
  - 8
233
248
  version: 0.9.8
234
- version_requirements: *id014
249
+ version_requirements: *id015
235
250
  name: rcov
236
251
  prerelease: false
237
252
  - !ruby/object:Gem::Dependency
238
253
  type: :development
239
- requirement: &id015 !ruby/object:Gem::Requirement
254
+ requirement: &id016 !ruby/object:Gem::Requirement
240
255
  none: false
241
256
  requirements:
242
257
  - - ">="
@@ -245,12 +260,12 @@ dependencies:
245
260
  segments:
246
261
  - 0
247
262
  version: "0"
248
- version_requirements: *id015
263
+ version_requirements: *id016
249
264
  name: grit
250
265
  prerelease: false
251
266
  - !ruby/object:Gem::Dependency
252
267
  type: :development
253
- requirement: &id016 !ruby/object:Gem::Requirement
268
+ requirement: &id017 !ruby/object:Gem::Requirement
254
269
  none: false
255
270
  requirements:
256
271
  - - ">="
@@ -259,12 +274,26 @@ dependencies:
259
274
  segments:
260
275
  - 0
261
276
  version: "0"
262
- version_requirements: *id016
277
+ version_requirements: *id017
263
278
  name: i18n
264
279
  prerelease: false
265
280
  - !ruby/object:Gem::Dependency
266
281
  type: :development
267
- requirement: &id017 !ruby/object:Gem::Requirement
282
+ requirement: &id018 !ruby/object:Gem::Requirement
283
+ none: false
284
+ requirements:
285
+ - - ">="
286
+ - !ruby/object:Gem::Version
287
+ hash: 3
288
+ segments:
289
+ - 0
290
+ version: "0"
291
+ version_requirements: *id018
292
+ name: rdoc
293
+ prerelease: false
294
+ - !ruby/object:Gem::Dependency
295
+ type: :development
296
+ requirement: &id019 !ruby/object:Gem::Requirement
268
297
  none: false
269
298
  requirements:
270
299
  - - ">="
@@ -275,12 +304,12 @@ dependencies:
275
304
  - 9
276
305
  - 1
277
306
  version: 0.9.1
278
- version_requirements: *id017
307
+ version_requirements: *id019
279
308
  name: ruby-prof
280
309
  prerelease: false
281
310
  - !ruby/object:Gem::Dependency
282
311
  type: :development
283
- requirement: &id018 !ruby/object:Gem::Requirement
312
+ requirement: &id020 !ruby/object:Gem::Requirement
284
313
  none: false
285
314
  requirements:
286
315
  - - ">="
@@ -290,12 +319,12 @@ dependencies:
290
319
  - 1
291
320
  - 0
292
321
  version: "1.0"
293
- version_requirements: *id018
322
+ version_requirements: *id020
294
323
  name: system_timer
295
324
  prerelease: false
296
325
  - !ruby/object:Gem::Dependency
297
326
  type: :runtime
298
- requirement: &id019 !ruby/object:Gem::Requirement
327
+ requirement: &id021 !ruby/object:Gem::Requirement
299
328
  none: false
300
329
  requirements:
301
330
  - - ">="
@@ -304,12 +333,12 @@ dependencies:
304
333
  segments:
305
334
  - 0
306
335
  version: "0"
307
- version_requirements: *id019
336
+ version_requirements: *id021
308
337
  name: activesupport
309
338
  prerelease: false
310
339
  - !ruby/object:Gem::Dependency
311
340
  type: :runtime
312
- requirement: &id020 !ruby/object:Gem::Requirement
341
+ requirement: &id022 !ruby/object:Gem::Requirement
313
342
  none: false
314
343
  requirements:
315
344
  - - ">="
@@ -318,12 +347,12 @@ dependencies:
318
347
  segments:
319
348
  - 0
320
349
  version: "0"
321
- version_requirements: *id020
350
+ version_requirements: *id022
322
351
  name: grit
323
352
  prerelease: false
324
353
  - !ruby/object:Gem::Dependency
325
354
  type: :runtime
326
- requirement: &id021 !ruby/object:Gem::Requirement
355
+ requirement: &id023 !ruby/object:Gem::Requirement
327
356
  none: false
328
357
  requirements:
329
358
  - - ">="
@@ -332,12 +361,12 @@ dependencies:
332
361
  segments:
333
362
  - 0
334
363
  version: "0"
335
- version_requirements: *id021
364
+ version_requirements: *id023
336
365
  name: i18n
337
366
  prerelease: false
338
367
  - !ruby/object:Gem::Dependency
339
368
  type: :runtime
340
- requirement: &id022 !ruby/object:Gem::Requirement
369
+ requirement: &id024 !ruby/object:Gem::Requirement
341
370
  none: false
342
371
  requirements:
343
372
  - - ">="
@@ -346,12 +375,12 @@ dependencies:
346
375
  segments:
347
376
  - 0
348
377
  version: "0"
349
- version_requirements: *id022
378
+ version_requirements: *id024
350
379
  name: hirb
351
380
  prerelease: false
352
381
  - !ruby/object:Gem::Dependency
353
382
  type: :runtime
354
- requirement: &id023 !ruby/object:Gem::Requirement
383
+ requirement: &id025 !ruby/object:Gem::Requirement
355
384
  none: false
356
385
  requirements:
357
386
  - - ">="
@@ -360,9 +389,37 @@ dependencies:
360
389
  segments:
361
390
  - 0
362
391
  version: "0"
363
- version_requirements: *id023
392
+ version_requirements: *id025
364
393
  name: cli-colorize
365
394
  prerelease: false
395
+ - !ruby/object:Gem::Dependency
396
+ type: :runtime
397
+ requirement: &id026 !ruby/object:Gem::Requirement
398
+ none: false
399
+ requirements:
400
+ - - ">="
401
+ - !ruby/object:Gem::Version
402
+ hash: 3
403
+ segments:
404
+ - 0
405
+ version: "0"
406
+ version_requirements: *id026
407
+ name: rdoc
408
+ prerelease: false
409
+ - !ruby/object:Gem::Dependency
410
+ type: :runtime
411
+ requirement: &id027 !ruby/object:Gem::Requirement
412
+ none: false
413
+ requirements:
414
+ - - ">="
415
+ - !ruby/object:Gem::Version
416
+ hash: 3
417
+ segments:
418
+ - 0
419
+ version: "0"
420
+ version_requirements: *id027
421
+ name: yajl-ruby
422
+ prerelease: false
366
423
  description: generate iphone app skeleton based on pure mvc framework
367
424
  email: eiffelqiu@gmail.com
368
425
  executables:
@@ -378,7 +435,7 @@ files:
378
435
  - lib/appjam/generators/actions.rb
379
436
  - lib/appjam/generators/cli.rb
380
437
  - lib/appjam/generators/gist.rb
381
- - lib/appjam/generators/gist/singleton.rb
438
+ - lib/appjam/generators/gist.yml
382
439
  - lib/appjam/generators/jam.rb
383
440
  - lib/appjam/generators/model.rb
384
441
  - lib/appjam/generators/project.rb
@@ -1,45 +0,0 @@
1
- require File.dirname(__FILE__) + '/../gist'
2
-
3
- module Appjam
4
- module Generators
5
- class Singleton < Gist
6
- gist_name "singleton"
7
- gist_id "https://gist.github.com/979981"
8
- gist_description "Singletons in Objective C"
9
-
10
- # Add this generator to our appjam
11
- Appjam::Generators.add_generator(:gist, self)
12
-
13
- def create_git
14
- if in_app_root?
15
- valid_constant?(options[:gist] || name)
16
- @gist_name = (options[:app] || name).gsub(/W/, "_").downcase
17
- @class_name = (options[:app] || name).gsub(/W/, "_").capitalize
18
- @developer = "eiffel"
19
- @created_on = Date.today.to_s
20
- self.destination_root = options[:root]
21
-
22
- if @gist_name == 'singleton'
23
- Gist::download_gist(979981)
24
- Gist::preview_gist(979981)
25
- eval(File.read(__FILE__) =~ /^__END__/ && $' || '')
26
-
27
- say "================================================================="
28
- say "Your function snippet has been generated."
29
- say "================================================================="
30
-
31
- end
32
- else
33
- puts
34
- puts '-'*70
35
- puts "You are not in an iphone project folder"
36
- puts '-'*70
37
- puts
38
- end
39
- end
40
-
41
- end # Singleton
42
- end # Generators
43
- end # Appjam
44
-
45
- __END__