bluesky 0.1.3 → 0.1.4

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d32e615ebeaac51304f4d674b65492bce2213028
4
- data.tar.gz: 9bd2773de0f91663a6045bced6a71335f5b02039
3
+ metadata.gz: ac20f305ac22494f22afa2779e8404c9a5de1fd4
4
+ data.tar.gz: f969ec619c97679ce9b7a5a6707d653dcfc7b12c
5
5
  SHA512:
6
- metadata.gz: 4a786ffc399bba1d5f94cc57226df59c0023d95f04c0189f22da7331e035dba8c59d845cb57d87a0a618f4a0082adeb86e0760c502907e3d31b32f3f2355d12e
7
- data.tar.gz: e234afb415935dad299d50a47ada97ae83223b5db80f28f307da9d87799b5a68072762a252df8f720e63ce3174d0d1b4fb3cc3ae882c482764d243955eea38d0
6
+ metadata.gz: 3e133aa3627754a432edd77ea11ac38162797739e0122271c356267b659b54206c34f97acde9e907992f3923077cbbda84e92559350804e85aa433bd9b44e319
7
+ data.tar.gz: 664a0fd7146bfb14d72b0fdf95bf5512a5e44ec7cd535426dc549fd2c5d4ab9a9b3d4f2c38073cb520d8acbc7e1e822ac96a4300946488f89b09c03855fbfcd0
data/bin/bluesky CHANGED
@@ -3,6 +3,8 @@
3
3
  require 'fileutils'
4
4
  require 'optparse'
5
5
 
6
+ require 'bluesky'
7
+
6
8
  class String
7
9
  def unindent
8
10
  gsub /^#{self[/\A[ \t]*/]}/, ''
@@ -11,10 +13,15 @@ end
11
13
 
12
14
  options = {}
13
15
  opt_parser = OptionParser.new do |opts|
14
- opts.banner = "Usage: bluesky [command] [options]"
16
+ opts.banner = "Usage: \n bluesky new APP_PATH [options]\n\nOptions:\n"
17
+
18
+ opts.on("-v", "--version", "Show bluesky version and quit") do |value|
19
+ puts "Bluesky #{Bluesky::VERSION}"
20
+ exit
21
+ end
15
22
 
16
- opts.on("-v", "--[no-]verbose", "Run verbosely") do |v|
17
- options[:verbose] = v
23
+ opts.on("-q", "--[no-]quiet", "Suppress status output") do |value|
24
+ options[:quiet] = value
18
25
  end
19
26
  end
20
27
 
@@ -22,18 +29,19 @@ opt_parser.parse!
22
29
 
23
30
  case ARGV[0]
24
31
  when "new"
25
- path = File.absolute_path(ARGV[1])
26
- abort "#{path} already exist! Aborting!" if File.exist?(path)
32
+ abort "No value provided for required arguments 'app_path'" unless ARGV.length > 1
33
+ app_path = File.absolute_path(ARGV[1])
34
+ abort "#{app_path} already exist! Aborting!" if File.exist?(app_path)
27
35
 
28
36
  title = ARGV[1].capitalize
29
37
 
30
38
  FileUtils.mkdir_p([
31
- File.join(path, 'app/models'),
32
- File.join(path, 'app/views'),
33
- File.join(path, 'app/controllers'),
39
+ File.join(app_path, 'app/models'),
40
+ File.join(app_path, 'app/views'),
41
+ File.join(app_path, 'app/controllers'),
34
42
  ])
35
43
 
36
- IO.write File.join(path, 'Gemfile'), <<-RUBY.unindent
44
+ IO.write File.join(app_path, 'Gemfile'), <<-RUBY.unindent
37
45
  source 'https://rubygems.org'
38
46
 
39
47
  gem 'opal', '~> 0.10'
@@ -41,7 +49,7 @@ when "new"
41
49
  gem 'bluesky', path: '../'
42
50
  RUBY
43
51
 
44
- IO.write File.join(path, 'app/application.rb'), <<-RUBY.unindent
52
+ IO.write File.join(app_path, 'app/application.rb'), <<-RUBY.unindent
45
53
  require 'bluesky'
46
54
  include Bluesky
47
55
 
@@ -60,7 +68,7 @@ when "new"
60
68
  $app.run
61
69
  RUBY
62
70
 
63
- IO.write File.join(path, 'app/controllers/root_controller.rb'), <<-RUBY.unindent
71
+ IO.write File.join(app_path, 'app/controllers/root_controller.rb'), <<-RUBY.unindent
64
72
  class RootController < ViewController
65
73
 
66
74
  attribute :name, 'World'
@@ -77,7 +85,7 @@ when "new"
77
85
  end
78
86
  RUBY
79
87
 
80
- IO.write File.join(path, 'app/views/hello_view.rb'), <<-RUBY.unindent
88
+ IO.write File.join(app_path, 'app/views/hello_view.rb'), <<-RUBY.unindent
81
89
  class HelloView < PureComponent
82
90
 
83
91
  attribute :name
@@ -100,7 +108,7 @@ when "new"
100
108
  RUBY
101
109
 
102
110
 
103
- IO.write File.join(path, 'config.ru'), <<-RUBY.unindent
111
+ IO.write File.join(app_path, 'config.ru'), <<-RUBY.unindent
104
112
  require 'bundler'
105
113
  Bundler.require
106
114
 
@@ -111,7 +119,7 @@ when "new"
111
119
  }
112
120
  RUBY
113
121
 
114
- IO.write File.join(path, 'index.html.erb'), <<-ERB.unindent
122
+ IO.write File.join(app_path, 'index.html.erb'), <<-ERB.unindent
115
123
  <!DOCTYPE html>
116
124
  <html>
117
125
  <head>
@@ -124,7 +132,7 @@ when "new"
124
132
  </html>
125
133
  ERB
126
134
 
127
- Dir.chdir(path) do
135
+ Dir.chdir(app_path) do
128
136
  system("bundle install")
129
137
  end
130
138
 
@@ -0,0 +1,38 @@
1
+ require 'clearwater'
2
+
3
+ module Bluesky
4
+
5
+ module DSL
6
+
7
+ module_function
8
+
9
+ Clearwater::Component::HTML_TAGS.each do |tag_name|
10
+ define_method(tag_name) do |attributes, content|
11
+ %x{
12
+ if(!(attributes === nil || attributes.$$is_hash)) {
13
+ content = attributes;
14
+ attributes = nil;
15
+ }
16
+ }
17
+
18
+ tag(tag_name, attributes, content)
19
+ end
20
+ end
21
+
22
+ def tag(tag_name, attributes=nil, content=nil, &block)
23
+
24
+ if block
25
+ attributes ||= {}
26
+ content ||= []
27
+ block.call(NodeBuilder.new(tag_name, attributes, content))
28
+ end
29
+
30
+ Clearwater::VirtualDOM.node(
31
+ tag_name,
32
+ Clearwater::Component.sanitize_attributes(attributes),
33
+ Clearwater::Component.sanitize_content(content)
34
+ )
35
+
36
+ end
37
+ end
38
+ end
@@ -1,3 +1,3 @@
1
1
  module Bluesky
2
- VERSION = "0.1.3"
2
+ VERSION = "0.1.4"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bluesky
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Susi
@@ -62,6 +62,7 @@ files:
62
62
  - bin/bluesky
63
63
  - lib/bluesky.rb
64
64
  - lib/bluesky/application.rb
65
+ - lib/bluesky/dsl.rb
65
66
  - lib/bluesky/helpers.rb
66
67
  - lib/bluesky/navigation_controller.rb
67
68
  - lib/bluesky/pure_component.rb