appjam 0.1.8.pre → 0.1.8.pre3

Sign up to get free protection for your applications and to get access to all the features.
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__