wedge 0.1.2 → 0.1.3
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 +4 -4
- data/Gemfile +2 -1
- data/Rakefile +19 -5
- data/lib/wedge/component.rb +4 -4
- data/lib/wedge/middleware.rb +22 -15
- data/lib/wedge/plugins/uploader.rb +4 -1
- data/lib/wedge/version.rb +1 -1
- data/lib/wedge.rb +4 -0
- data/playground/app/config/boot.rb +9 -0
- data/playground/app/config/variables.rb +5 -4
- data/spec/index.html.erb +10 -0
- data/spec/playground/layout_spec.rb +16 -0
- data/spec/playground/uploader_spec.rb +32 -0
- data/spec/spec_helper.rb +23 -0
- data/wedge.gemspec +6 -2
- metadata +58 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bec19fa97267952287dd19eb59c0ef60ea1ec798
|
4
|
+
data.tar.gz: 99539718ec725a14caada41cb292ebc2d607c706
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b6291df78a9eb3c351d65013afb6719f59a4d08f7b5edffc674aeb7fd53ebf8481020977d47dcb36588c17760398c7d28b6e978fa875a861d062c8a0dfebe0fc
|
7
|
+
data.tar.gz: d27efe62f63e0f26e833541ae466042f81fb20dfbbd8f7f83441ea97d658d458b50e0aa3d66b1f8443b356365b700e8ae2a8b911c7cb6972dc38db9477ba7360
|
data/Gemfile
CHANGED
@@ -3,8 +3,9 @@ source 'https://rubygems.org'
|
|
3
3
|
# Specify your gem's dependencies in BrowserIO.gemspec
|
4
4
|
gemspec
|
5
5
|
|
6
|
-
gem 'opal', github: 'opal/opal'
|
6
|
+
gem 'opal', github: 'opal/opal'
|
7
7
|
gem 'opal-jquery', github: 'opal/opal-jquery'
|
8
|
+
gem 'opal-rspec', github: 'opal/opal-rspec'
|
8
9
|
gem 'binding_of_caller'
|
9
10
|
gem 'better_errors'
|
10
11
|
gem 'slim'
|
data/Rakefile
CHANGED
@@ -1,9 +1,23 @@
|
|
1
|
+
require 'bundler'
|
1
2
|
require 'bundler/gem_tasks'
|
2
|
-
require
|
3
|
+
Bundler.require
|
3
4
|
|
4
|
-
|
5
|
-
|
6
|
-
|
5
|
+
Opal.append_path File.expand_path('../lib', __FILE__)
|
6
|
+
Opal.append_path File.expand_path('../playground', __FILE__)
|
7
|
+
|
8
|
+
require 'opal/rspec/rake_task'
|
9
|
+
Opal::RSpec::RakeTask.new('opal:rspec') do |s|
|
10
|
+
s.index_path = 'spec/index.html.erb'
|
7
11
|
end
|
8
12
|
|
9
|
-
task default: :test
|
13
|
+
task default: [:test]
|
14
|
+
|
15
|
+
require 'rspec/core/rake_task'
|
16
|
+
RSpec::Core::RakeTask.new('ruby:rspec')
|
17
|
+
|
18
|
+
task :test do
|
19
|
+
puts "--------------------------\nRun specs in Opal\n--------------------------"
|
20
|
+
Rake::Task['opal:rspec'].invoke
|
21
|
+
puts "--------------------------\nRun specs in normal ruby\n--------------------------"
|
22
|
+
Rake::Task['ruby:rspec'].invoke
|
23
|
+
end
|
data/lib/wedge/component.rb
CHANGED
@@ -126,8 +126,8 @@ class Wedge
|
|
126
126
|
alias_method :on, :wedge_on
|
127
127
|
|
128
128
|
def method_missing(method, *args, &block)
|
129
|
-
if
|
130
|
-
|
129
|
+
if wedge_config.scope.respond_to?(method, true)
|
130
|
+
wedge_config.scope.send method, *args, &block
|
131
131
|
else
|
132
132
|
super
|
133
133
|
end
|
@@ -208,7 +208,7 @@ class Wedge
|
|
208
208
|
|
209
209
|
def html!(&b)
|
210
210
|
unless RUBY_ENGINE == 'opal'
|
211
|
-
|
211
|
+
Wedge.html!(&b)
|
212
212
|
end
|
213
213
|
end
|
214
214
|
|
@@ -331,7 +331,7 @@ class Wedge
|
|
331
331
|
end
|
332
332
|
|
333
333
|
def wedge_html(&b)
|
334
|
-
|
334
|
+
Wedge.html!(&b)
|
335
335
|
end
|
336
336
|
alias_method :html!, :wedge_html
|
337
337
|
|
data/lib/wedge/middleware.rb
CHANGED
@@ -37,21 +37,28 @@ class Wedge
|
|
37
37
|
body << File.read("#{ROOT_PATH}/#{wedge_path}.rb")
|
38
38
|
end if Wedge.config.debug
|
39
39
|
when 'call'
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
40
|
+
body_data = request.body.read
|
41
|
+
data = request.params
|
42
|
+
|
43
|
+
begin
|
44
|
+
# try json
|
45
|
+
data.merge!(body_data ? JSON.parse(body_data) : {})
|
46
|
+
rescue
|
47
|
+
begin
|
48
|
+
# try form data
|
49
|
+
data.merge!(body_data ? Rack::Utils.parse_query(body_data) : {})
|
50
|
+
rescue
|
51
|
+
# no data
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
data = data.indifferent
|
56
|
+
name = data.delete(:__wedge_name__)
|
57
|
+
method_called = data.delete(:__wedge_method__)
|
58
|
+
method_args = data.delete(:__wedge_args__)
|
59
|
+
|
60
|
+
binding.pry
|
61
|
+
if method_args == '__wedge_data__' && data
|
55
62
|
method_args = [data]
|
56
63
|
body << Wedge.scope!(app)[name].send(method_called, *method_args) || ''
|
57
64
|
else
|
data/lib/wedge/version.rb
CHANGED
data/lib/wedge.rb
CHANGED
@@ -1,5 +1,14 @@
|
|
1
1
|
require File.expand_path '../variables', __FILE__
|
2
2
|
|
3
|
+
begin
|
4
|
+
# use `bundle install --standalone --binstubs .bundle/bin' to get this...
|
5
|
+
require_relative '../.bundle/bundler/setup'
|
6
|
+
rescue LoadError
|
7
|
+
# fall back to regular bundler if the developer hasn't bundled standalone
|
8
|
+
require 'bundler'
|
9
|
+
Bundler.setup :default, RACK_ENV
|
10
|
+
end
|
11
|
+
|
3
12
|
require 'roda'
|
4
13
|
require 'wedge'
|
5
14
|
|
@@ -1,13 +1,14 @@
|
|
1
1
|
Encoding.default_external = 'UTF-8'
|
2
2
|
|
3
|
-
APP_ROOT
|
4
|
-
RACK_ENV
|
3
|
+
APP_ROOT = File.expand_path '../../', __FILE__ unless defined?(APP_ROOT)
|
4
|
+
RACK_ENV = ENV.fetch('RACK_ENV') { 'development' }.freeze
|
5
5
|
|
6
6
|
# Load environment variables
|
7
7
|
%W{.env .env.#{ENV['RACK_ENV']}}.each do |file|
|
8
|
-
|
8
|
+
file_path = "#{APP_ROOT}/../#{file}"
|
9
|
+
File.foreach file_path do |line|
|
9
10
|
key, value = line.split "=", 2; ENV[key] = value.gsub('\n', '').strip
|
10
|
-
end if File.file?
|
11
|
+
end if File.file? file_path
|
11
12
|
end if %w{development test}.include? RACK_ENV
|
12
13
|
|
13
14
|
APP_SECRET = ENV.fetch('APP_SECRET').freeze
|
data/spec/index.html.erb
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
</head>
|
5
|
+
<body>
|
6
|
+
<%= javascript_include_tag 'public/vendor/jquery/jquery' %>
|
7
|
+
<%= javascript_include_tag 'bower_components/fine-uploader/_build/s3.jquery.fine-uploader' %>
|
8
|
+
<%= javascript_include_tag @server.main %>
|
9
|
+
</body>
|
10
|
+
</html>
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'app/components/layout'
|
3
|
+
|
4
|
+
describe Playground::LayoutComponent do
|
5
|
+
subject(:layout) { Wedge[:layout] }
|
6
|
+
|
7
|
+
context '#display' do
|
8
|
+
subject { layout.display }
|
9
|
+
|
10
|
+
if Wedge.server?
|
11
|
+
it { is_expected.to be_a Wedge::DOM }
|
12
|
+
else
|
13
|
+
it { is_expected.to be_nil }
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'app/components/uploader'
|
3
|
+
|
4
|
+
describe Playground::UploaderComponent do
|
5
|
+
subject(:uploader) { Wedge[:uploader] }
|
6
|
+
|
7
|
+
html Wedge.html! { button 'Upload' }.to_html
|
8
|
+
|
9
|
+
context '#display' do
|
10
|
+
subject { uploader.display }
|
11
|
+
|
12
|
+
if Wedge.server?
|
13
|
+
it { is_expected.to be_a Wedge::DOM }
|
14
|
+
else
|
15
|
+
it { is_expected.to be_nil }
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
context 'browser_events' do
|
20
|
+
before do
|
21
|
+
Wedge::Plugins::Uploader.any_instance.stub(:settings).and_return({
|
22
|
+
aws_access_key_id: 123456,
|
23
|
+
bucket: 'wedge'
|
24
|
+
})
|
25
|
+
uploader.trigger :browser_events
|
26
|
+
end
|
27
|
+
|
28
|
+
it 'should have fine uploader button' do
|
29
|
+
expect(uploader.dom.find('.qq-uploader').to_html).not_to be_empty
|
30
|
+
end
|
31
|
+
end if Wedge.client?
|
32
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
if RUBY_ENGINE == 'opal'
|
2
|
+
require 'wedge'
|
3
|
+
require 'opal-rspec'
|
4
|
+
require 'opal/jquery'
|
5
|
+
require 'opal/jquery/rspec'
|
6
|
+
else
|
7
|
+
ENV['RACK_ENV'] ||= 'test'
|
8
|
+
|
9
|
+
$:.unshift(File.expand_path("../lib", File.dirname(__FILE__)))
|
10
|
+
$:.unshift(File.expand_path("../playground", File.dirname(__FILE__)))
|
11
|
+
|
12
|
+
# this is so it doesn't throw an error because we use opal/jquery/rspec which
|
13
|
+
# adds an html method client side.
|
14
|
+
module RSpecHelpers
|
15
|
+
def html(_); end
|
16
|
+
end
|
17
|
+
|
18
|
+
RSpec.configure do |config|
|
19
|
+
config.extend RSpecHelpers
|
20
|
+
end
|
21
|
+
|
22
|
+
require 'app/config/boot'
|
23
|
+
end
|
data/wedge.gemspec
CHANGED
@@ -22,11 +22,15 @@ Gem::Specification.new do |spec|
|
|
22
22
|
spec.add_runtime_dependency "opal-jquery"
|
23
23
|
spec.add_runtime_dependency "nokogiri"
|
24
24
|
|
25
|
+
spec.add_development_dependency 'minitest-line'
|
26
|
+
spec.add_development_dependency 'minitest-reporters'
|
27
|
+
spec.add_development_dependency 'opal-rspec'
|
28
|
+
spec.add_development_dependency 'rspec'
|
25
29
|
spec.add_development_dependency "pry"
|
30
|
+
spec.add_development_dependency "rake"
|
26
31
|
spec.add_development_dependency "awesome_print"
|
27
32
|
spec.add_development_dependency "yard"
|
28
33
|
spec.add_development_dependency "phantomjs.rb"
|
29
|
-
spec.add_development_dependency 'minitest-line'
|
30
|
-
spec.add_development_dependency 'minitest-reporters'
|
31
34
|
spec.add_development_dependency 'roda'
|
35
|
+
|
32
36
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wedge
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- cj
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-05-
|
11
|
+
date: 2015-05-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: opal
|
@@ -53,7 +53,7 @@ dependencies:
|
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: minitest-line
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - ">="
|
@@ -67,7 +67,7 @@ dependencies:
|
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
70
|
+
name: minitest-reporters
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - ">="
|
@@ -81,7 +81,7 @@ dependencies:
|
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
84
|
+
name: opal-rspec
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - ">="
|
@@ -95,7 +95,7 @@ dependencies:
|
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
98
|
+
name: rspec
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
101
|
- - ">="
|
@@ -109,7 +109,7 @@ dependencies:
|
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '0'
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
112
|
+
name: pry
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
115
|
- - ">="
|
@@ -123,7 +123,49 @@ dependencies:
|
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: '0'
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
|
-
name:
|
126
|
+
name: rake
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: awesome_print
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - ">="
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0'
|
146
|
+
type: :development
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - ">="
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0'
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: yard
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - ">="
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '0'
|
160
|
+
type: :development
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - ">="
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '0'
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: phantomjs.rb
|
127
169
|
requirement: !ruby/object:Gem::Requirement
|
128
170
|
requirements:
|
129
171
|
- - ">="
|
@@ -225,6 +267,10 @@ files:
|
|
225
267
|
- playground/src/includes/_head.slim
|
226
268
|
- playground/src/index.slim
|
227
269
|
- playground/src/uploader.slim
|
270
|
+
- spec/index.html.erb
|
271
|
+
- spec/playground/layout_spec.rb
|
272
|
+
- spec/playground/uploader_spec.rb
|
273
|
+
- spec/spec_helper.rb
|
228
274
|
- test.rb
|
229
275
|
- test/test.js
|
230
276
|
- test/test_basic_component.rb
|
@@ -256,6 +302,10 @@ signing_key:
|
|
256
302
|
specification_version: 4
|
257
303
|
summary: Components for the Browser and Server
|
258
304
|
test_files:
|
305
|
+
- spec/index.html.erb
|
306
|
+
- spec/playground/layout_spec.rb
|
307
|
+
- spec/playground/uploader_spec.rb
|
308
|
+
- spec/spec_helper.rb
|
259
309
|
- test/test.js
|
260
310
|
- test/test_basic_component.rb
|
261
311
|
- test/test_browserio.rb
|