styx 0.0.4 → 0.1.0
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/.gitignore +2 -0
- data/Gemfile +3 -0
- data/Gemfile.lock +131 -0
- data/README.md +1 -0
- data/Rakefile +7 -0
- data/lib/styx/forms.rb +17 -23
- data/lib/styx/helpers.rb +12 -31
- data/lib/styx/initializer.rb +17 -20
- data/spec/controllers/tests_controller_spec.rb +11 -0
- data/spec/internal/app/controllers/tests_controller.rb +13 -0
- data/spec/internal/app/views/tests/index.html.erb +1 -0
- data/spec/internal/config/routes.rb +3 -0
- data/spec/internal/db/schema.rb +0 -0
- data/spec/internal/log/.gitignore +1 -0
- data/spec/lib/styx_forms_spec.rb +69 -0
- data/spec/lib/styx_helpers_spec.rb +64 -0
- data/spec/lib/styx_initializer_spec.rb +32 -0
- data/spec/spec_helper.rb +12 -0
- data/styx.gemspec +7 -3
- metadata +51 -3
data/.gitignore
ADDED
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,131 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
styx (0.0.4)
|
5
|
+
|
6
|
+
GEM
|
7
|
+
remote: http://rubygems.org/
|
8
|
+
specs:
|
9
|
+
actionmailer (3.1.3)
|
10
|
+
actionpack (= 3.1.3)
|
11
|
+
mail (~> 2.3.0)
|
12
|
+
actionpack (3.1.3)
|
13
|
+
activemodel (= 3.1.3)
|
14
|
+
activesupport (= 3.1.3)
|
15
|
+
builder (~> 3.0.0)
|
16
|
+
erubis (~> 2.7.0)
|
17
|
+
i18n (~> 0.6)
|
18
|
+
rack (~> 1.3.5)
|
19
|
+
rack-cache (~> 1.1)
|
20
|
+
rack-mount (~> 0.8.2)
|
21
|
+
rack-test (~> 0.6.1)
|
22
|
+
sprockets (~> 2.0.3)
|
23
|
+
activemodel (3.1.3)
|
24
|
+
activesupport (= 3.1.3)
|
25
|
+
builder (~> 3.0.0)
|
26
|
+
i18n (~> 0.6)
|
27
|
+
activerecord (3.1.3)
|
28
|
+
activemodel (= 3.1.3)
|
29
|
+
activesupport (= 3.1.3)
|
30
|
+
arel (~> 2.2.1)
|
31
|
+
tzinfo (~> 0.3.29)
|
32
|
+
activeresource (3.1.3)
|
33
|
+
activemodel (= 3.1.3)
|
34
|
+
activesupport (= 3.1.3)
|
35
|
+
activesupport (3.1.3)
|
36
|
+
multi_json (~> 1.0)
|
37
|
+
arel (2.2.1)
|
38
|
+
builder (3.0.0)
|
39
|
+
capybara (1.1.2)
|
40
|
+
mime-types (>= 1.16)
|
41
|
+
nokogiri (>= 1.3.3)
|
42
|
+
rack (>= 1.0.0)
|
43
|
+
rack-test (>= 0.5.4)
|
44
|
+
selenium-webdriver (~> 2.0)
|
45
|
+
xpath (~> 0.1.4)
|
46
|
+
childprocess (0.2.3)
|
47
|
+
ffi (~> 1.0.6)
|
48
|
+
combustion (0.3.1)
|
49
|
+
rails (>= 3.1.0)
|
50
|
+
thor (>= 0.14.6)
|
51
|
+
diff-lcs (1.1.3)
|
52
|
+
erubis (2.7.0)
|
53
|
+
ffi (1.0.11)
|
54
|
+
hike (1.2.1)
|
55
|
+
i18n (0.6.0)
|
56
|
+
json (1.6.5)
|
57
|
+
mail (2.3.0)
|
58
|
+
i18n (>= 0.4.0)
|
59
|
+
mime-types (~> 1.16)
|
60
|
+
treetop (~> 1.4.8)
|
61
|
+
mime-types (1.17.2)
|
62
|
+
multi_json (1.0.4)
|
63
|
+
nokogiri (1.5.0)
|
64
|
+
polyglot (0.3.3)
|
65
|
+
rack (1.3.6)
|
66
|
+
rack-cache (1.1)
|
67
|
+
rack (>= 0.4)
|
68
|
+
rack-mount (0.8.3)
|
69
|
+
rack (>= 1.0.0)
|
70
|
+
rack-ssl (1.3.2)
|
71
|
+
rack
|
72
|
+
rack-test (0.6.1)
|
73
|
+
rack (>= 1.0)
|
74
|
+
rails (3.1.3)
|
75
|
+
actionmailer (= 3.1.3)
|
76
|
+
actionpack (= 3.1.3)
|
77
|
+
activerecord (= 3.1.3)
|
78
|
+
activeresource (= 3.1.3)
|
79
|
+
activesupport (= 3.1.3)
|
80
|
+
bundler (~> 1.0)
|
81
|
+
railties (= 3.1.3)
|
82
|
+
railties (3.1.3)
|
83
|
+
actionpack (= 3.1.3)
|
84
|
+
activesupport (= 3.1.3)
|
85
|
+
rack-ssl (~> 1.3.2)
|
86
|
+
rake (>= 0.8.7)
|
87
|
+
rdoc (~> 3.4)
|
88
|
+
thor (~> 0.14.6)
|
89
|
+
rake (0.9.2.2)
|
90
|
+
rdoc (3.12)
|
91
|
+
json (~> 1.4)
|
92
|
+
rspec (2.8.0)
|
93
|
+
rspec-core (~> 2.8.0)
|
94
|
+
rspec-expectations (~> 2.8.0)
|
95
|
+
rspec-mocks (~> 2.8.0)
|
96
|
+
rspec-core (2.8.0)
|
97
|
+
rspec-expectations (2.8.0)
|
98
|
+
diff-lcs (~> 1.1.2)
|
99
|
+
rspec-mocks (2.8.0)
|
100
|
+
rspec-rails (2.8.1)
|
101
|
+
actionpack (>= 3.0)
|
102
|
+
activesupport (>= 3.0)
|
103
|
+
railties (>= 3.0)
|
104
|
+
rspec (~> 2.8.0)
|
105
|
+
rubyzip (0.9.5)
|
106
|
+
selenium-webdriver (2.15.0)
|
107
|
+
childprocess (>= 0.2.1)
|
108
|
+
ffi (~> 1.0.9)
|
109
|
+
multi_json (~> 1.0.4)
|
110
|
+
rubyzip
|
111
|
+
sprockets (2.0.3)
|
112
|
+
hike (~> 1.2)
|
113
|
+
rack (~> 1.0)
|
114
|
+
tilt (~> 1.1, != 1.3.0)
|
115
|
+
thor (0.14.6)
|
116
|
+
tilt (1.3.3)
|
117
|
+
treetop (1.4.10)
|
118
|
+
polyglot
|
119
|
+
polyglot (>= 0.3.1)
|
120
|
+
tzinfo (0.3.31)
|
121
|
+
xpath (0.1.4)
|
122
|
+
nokogiri (~> 1.3)
|
123
|
+
|
124
|
+
PLATFORMS
|
125
|
+
ruby
|
126
|
+
|
127
|
+
DEPENDENCIES
|
128
|
+
capybara (~> 1.1.2)
|
129
|
+
combustion (~> 0.3.1)
|
130
|
+
rspec-rails (~> 2.8.1)
|
131
|
+
styx!
|
data/README.md
CHANGED
@@ -167,6 +167,7 @@ License
|
|
167
167
|
-------
|
168
168
|
|
169
169
|
Copyright (C) 2011 by Boris Staal <boris@roundlake.ru>
|
170
|
+
Alexander Pavlenko <a.pavlenko@roundlake.ru>
|
170
171
|
|
171
172
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
172
173
|
of this software and associated documentation files (the "Software"), to deal
|
data/Rakefile
ADDED
data/lib/styx/forms.rb
CHANGED
@@ -1,33 +1,27 @@
|
|
1
1
|
module Styx
|
2
|
-
module Forms
|
3
|
-
def
|
4
|
-
|
5
|
-
end
|
6
|
-
|
7
|
-
module InstanceMethods
|
8
|
-
def styx_form_store_and_respond(entity, data=nil, &block)
|
9
|
-
response.content_type = Mime::TEXT
|
2
|
+
module Forms
|
3
|
+
def styx_form_store_and_respond(entity, data=nil, &block)
|
4
|
+
response.content_type = Mime::TEXT
|
10
5
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
end
|
6
|
+
if entity.save
|
7
|
+
styx_form_respond_success(data, entity, &block)
|
8
|
+
else
|
9
|
+
styx_form_respond_failure(entity.class.name, entity.errors.messages)
|
16
10
|
end
|
11
|
+
end
|
17
12
|
|
18
|
-
|
19
|
-
|
13
|
+
def styx_form_respond_failure(entity, errors)
|
14
|
+
response.content_type = Mime::TEXT
|
20
15
|
|
21
|
-
|
22
|
-
|
23
|
-
|
16
|
+
errors = Hash[*errors.map {|x| [x, nil]}.flatten] if errors.is_a?(Array)
|
17
|
+
render :text => {:entity => entity.to_s.underscore.gsub('/', '_'), :messages => errors}.to_json, :status => :unprocessable_entity
|
18
|
+
end
|
24
19
|
|
25
|
-
|
26
|
-
|
20
|
+
def styx_form_respond_success(data, entity=nil, &block)
|
21
|
+
response.content_type = Mime::TEXT
|
27
22
|
|
28
|
-
|
29
|
-
|
30
|
-
end
|
23
|
+
block.call(entity) if block_given?
|
24
|
+
render :text => (data.is_a?(Proc) ? data.call(entity) : data)
|
31
25
|
end
|
32
26
|
end
|
33
27
|
end
|
data/lib/styx/helpers.rb
CHANGED
@@ -1,40 +1,21 @@
|
|
1
1
|
module Styx
|
2
2
|
module Helpers
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
end
|
3
|
+
extend ActiveSupport::Concern
|
4
|
+
|
5
|
+
included do
|
6
|
+
helper_method :this_page?, :this_namespace?
|
8
7
|
end
|
9
8
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
flag = false
|
15
|
-
|
16
|
-
mask.each do |m|
|
17
|
-
m = m.to_s.split('#')
|
18
|
-
|
19
|
-
c = m[0]
|
20
|
-
a = m[1]
|
21
|
-
|
22
|
-
f = true
|
23
|
-
|
24
|
-
f = false if !c.blank? && c != controller_name
|
25
|
-
f = false if !a.blank? && a != action_name
|
26
|
-
|
27
|
-
flag ||= f
|
28
|
-
end
|
29
|
-
|
30
|
-
flag
|
9
|
+
def this_page?(mask)
|
10
|
+
[*mask].any? do |m|
|
11
|
+
c, a = m.to_s.split('#')
|
12
|
+
!(c.present? && c != controller_name || a.present? && a != action_name)
|
31
13
|
end
|
14
|
+
end
|
32
15
|
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
return namespace == current
|
37
|
-
end
|
16
|
+
def this_namespace?(namespace)
|
17
|
+
# TODO: support nested namespaces?
|
18
|
+
namespace == controller_path.split('/').first
|
38
19
|
end
|
39
20
|
end
|
40
21
|
end
|
data/lib/styx/initializer.rb
CHANGED
@@ -1,27 +1,24 @@
|
|
1
1
|
module Styx
|
2
2
|
module Initializer
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
3
|
+
extend ActiveSupport::Concern
|
4
|
+
|
5
|
+
included do
|
6
|
+
helper_method :styx_initialize, :styx_initialize_with
|
7
|
+
before_filter { @styx_initialize_with = {} }
|
8
|
+
end
|
9
|
+
|
10
|
+
def styx_initialize_with(data)
|
11
|
+
@styx_initialize_with.merge! data
|
9
12
|
end
|
10
13
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
:method => action_name,
|
20
|
-
:data => @styx_initialize_with
|
21
|
-
}
|
22
|
-
|
23
|
-
result.html_safe
|
24
|
-
end
|
14
|
+
def styx_initialize()
|
15
|
+
result = render_to_string :partial => 'styx/initializer', :locals => {
|
16
|
+
:klass => controller_path.gsub('/', '_').camelize,
|
17
|
+
:method => action_name,
|
18
|
+
:data => @styx_initialize_with
|
19
|
+
}
|
20
|
+
|
21
|
+
result.html_safe
|
25
22
|
end
|
26
23
|
end
|
27
24
|
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe TestsController do
|
4
|
+
render_views
|
5
|
+
|
6
|
+
it 'index' do
|
7
|
+
get :index
|
8
|
+
response.body.should have_content('Styx.Initializers.Tests.initialize({"data":"test"})')
|
9
|
+
response.body.should have_content('Styx.Initializers.Tests.index({"data":"test"})')
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= styx_initialize %>
|
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
*.log
|
@@ -0,0 +1,69 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Styx::Forms do
|
4
|
+
|
5
|
+
let :controller do
|
6
|
+
controller = double('controller')
|
7
|
+
controller.class_eval do
|
8
|
+
include Styx::Forms
|
9
|
+
end
|
10
|
+
controller.stub(:response => double('response'))
|
11
|
+
controller.response.should_receive(:content_type=).with(Mime::TEXT).at_least(:once)
|
12
|
+
|
13
|
+
controller
|
14
|
+
end
|
15
|
+
|
16
|
+
context '#styx_form_store_and_respond' do
|
17
|
+
|
18
|
+
it 'respond success' do
|
19
|
+
entity = double('model')
|
20
|
+
entity.stub(:save => true)
|
21
|
+
controller.should_receive(:styx_form_respond_success).with(data = Object.new, entity)
|
22
|
+
controller.styx_form_store_and_respond(entity, data) do |e|
|
23
|
+
e.should === entity
|
24
|
+
# whatever
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
it 'respond failure' do
|
29
|
+
entity = double('model')
|
30
|
+
entity.stub(:save => false)
|
31
|
+
entity.stub(:errors => double('errors'))
|
32
|
+
entity.errors.stub(:messages => {:field => ["can't this'", "can't that'"]})
|
33
|
+
controller.should_receive(:styx_form_respond_failure).with(entity.class.name, entity.errors.messages)
|
34
|
+
controller.styx_form_store_and_respond(entity)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
it 'respond success' do
|
39
|
+
entity = Object.new
|
40
|
+
[
|
41
|
+
'data',
|
42
|
+
lambda {|e| e.should === entity; 'data' }
|
43
|
+
].each do |data|
|
44
|
+
controller.should_receive(:render).with(:text => 'data')
|
45
|
+
controller.styx_form_respond_success(data, entity) do |e|
|
46
|
+
e.should === entity
|
47
|
+
# whatever
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
it 'respond failure' do
|
53
|
+
|
54
|
+
errors_cases = [
|
55
|
+
{:field => ["can't this'", "can't that'"]},
|
56
|
+
['field1', 'field2']
|
57
|
+
]
|
58
|
+
|
59
|
+
def normalize(errors)
|
60
|
+
errors.is_a?(Array) && Hash[*errors.map {|x| [x, nil]}.flatten] || errors
|
61
|
+
end
|
62
|
+
|
63
|
+
errors_cases.each do |errors|
|
64
|
+
json = {:entity => 'm_cl_name', :messages => normalize(errors)}.to_json
|
65
|
+
controller.should_receive(:render).with(:text => json, :status => :unprocessable_entity)
|
66
|
+
controller.styx_form_respond_failure('M::ClName', errors)
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Styx::Helpers do
|
4
|
+
|
5
|
+
let :controller do
|
6
|
+
controller = double('controller')
|
7
|
+
controller.class.should_receive(:helper_method).with(:this_page?, :this_namespace?)
|
8
|
+
controller.class_eval do
|
9
|
+
include Styx::Helpers
|
10
|
+
end
|
11
|
+
|
12
|
+
controller
|
13
|
+
end
|
14
|
+
|
15
|
+
it '#this_page?' do
|
16
|
+
controller.stub(:controller_name => 'tests')
|
17
|
+
controller.stub(:action_name => 'index')
|
18
|
+
|
19
|
+
cases = [
|
20
|
+
[
|
21
|
+
be_true, [
|
22
|
+
'tests#index',
|
23
|
+
'#index'
|
24
|
+
]
|
25
|
+
], [
|
26
|
+
be_false, [
|
27
|
+
'fails#index',
|
28
|
+
'tests#show',
|
29
|
+
'#show'
|
30
|
+
]
|
31
|
+
]
|
32
|
+
]
|
33
|
+
|
34
|
+
cases.each do |group|
|
35
|
+
be_ok, examples = group
|
36
|
+
examples.each do |example|
|
37
|
+
controller.this_page?(example).should be_ok
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
it '#this_namespace?' do
|
43
|
+
controller.stub(:controller_path => 'module/tests')
|
44
|
+
|
45
|
+
cases = [
|
46
|
+
[
|
47
|
+
be_true, [
|
48
|
+
'module'
|
49
|
+
]
|
50
|
+
], [
|
51
|
+
be_false, [
|
52
|
+
'whatever'
|
53
|
+
]
|
54
|
+
]
|
55
|
+
]
|
56
|
+
|
57
|
+
cases.each do |group|
|
58
|
+
be_ok, examples = group
|
59
|
+
examples.each do |example|
|
60
|
+
controller.this_namespace?(example).should be_ok
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Styx::Initializer do
|
4
|
+
|
5
|
+
let :controller do
|
6
|
+
controller = double('controller')
|
7
|
+
controller.class.should_receive(:helper_method).with(:styx_initialize, :styx_initialize_with)
|
8
|
+
controller.class.stub(:before_filter) do |block|
|
9
|
+
controller.instance_eval(&block)
|
10
|
+
end
|
11
|
+
controller.class_eval do
|
12
|
+
include Styx::Initializer
|
13
|
+
end
|
14
|
+
controller.instance_variable_get('@styx_initialize_with').should == {}
|
15
|
+
|
16
|
+
controller
|
17
|
+
end
|
18
|
+
|
19
|
+
it '#styx_initialize_with' do
|
20
|
+
controller.styx_initialize_with(:test => 'data')
|
21
|
+
controller.instance_variable_get('@styx_initialize_with').should == {:test => 'data'}
|
22
|
+
end
|
23
|
+
|
24
|
+
it '#styx_initialize' do
|
25
|
+
controller.stub(:controller_path => 'module/tests')
|
26
|
+
controller.stub(:action_name => 'index')
|
27
|
+
controller.should_receive(:render_to_string).and_return('rendered template')
|
28
|
+
result = controller.styx_initialize
|
29
|
+
result.should == 'rendered template'
|
30
|
+
result.html_safe?.should be_true
|
31
|
+
end
|
32
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'bundler'
|
3
|
+
Bundler.require :development
|
4
|
+
require 'capybara/rspec'
|
5
|
+
Combustion.initialize! :action_controller, :action_view, :sprockets
|
6
|
+
Bundler.require :default
|
7
|
+
require 'rspec/rails'
|
8
|
+
require 'capybara/rails'
|
9
|
+
|
10
|
+
RSpec.configure do |config|
|
11
|
+
config.mock_with :rspec
|
12
|
+
end
|
data/styx.gemspec
CHANGED
@@ -1,14 +1,18 @@
|
|
1
|
-
|
1
|
+
Gem::Specification.new do |s|
|
2
2
|
s.name = "styx"
|
3
|
-
s.version = "0.0
|
3
|
+
s.version = "0.1.0"
|
4
4
|
s.platform = Gem::Platform::RUBY
|
5
5
|
s.summary = "Set of helpers to maintain bridge between Server (Rails) side and Client (JS) side"
|
6
6
|
s.email = "boris@roundlake.ru"
|
7
7
|
s.homepage = "http://github.com/roundlake/styx"
|
8
8
|
s.description = s.summary
|
9
|
-
s.authors = ['Boris Staal']
|
9
|
+
s.authors = ['Boris Staal', 'Alexander Pavlenko']
|
10
10
|
|
11
11
|
s.has_rdoc = false # disable rdoc generation until we've got more
|
12
12
|
s.files = `git ls-files`.split("\n")
|
13
13
|
s.require_paths = ["lib"]
|
14
|
+
|
15
|
+
s.add_development_dependency 'combustion', '~> 0.3.1'
|
16
|
+
s.add_development_dependency 'rspec-rails', '~> 2.8.1'
|
17
|
+
s.add_development_dependency 'capybara', '~> 1.1.2'
|
14
18
|
end
|
metadata
CHANGED
@@ -1,16 +1,50 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: styx
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Boris Staal
|
9
|
+
- Alexander Pavlenko
|
9
10
|
autorequire:
|
10
11
|
bindir: bin
|
11
12
|
cert_chain: []
|
12
|
-
date: 2012-01-
|
13
|
-
dependencies:
|
13
|
+
date: 2012-01-18 00:00:00.000000000 Z
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: combustion
|
17
|
+
requirement: &70186037571000 !ruby/object:Gem::Requirement
|
18
|
+
none: false
|
19
|
+
requirements:
|
20
|
+
- - ~>
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 0.3.1
|
23
|
+
type: :development
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: *70186037571000
|
26
|
+
- !ruby/object:Gem::Dependency
|
27
|
+
name: rspec-rails
|
28
|
+
requirement: &70186037570300 !ruby/object:Gem::Requirement
|
29
|
+
none: false
|
30
|
+
requirements:
|
31
|
+
- - ~>
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 2.8.1
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: *70186037570300
|
37
|
+
- !ruby/object:Gem::Dependency
|
38
|
+
name: capybara
|
39
|
+
requirement: &70186037569600 !ruby/object:Gem::Requirement
|
40
|
+
none: false
|
41
|
+
requirements:
|
42
|
+
- - ~>
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
version: 1.1.2
|
45
|
+
type: :development
|
46
|
+
prerelease: false
|
47
|
+
version_requirements: *70186037569600
|
14
48
|
description: Set of helpers to maintain bridge between Server (Rails) side and Client
|
15
49
|
(JS) side
|
16
50
|
email: boris@roundlake.ru
|
@@ -18,7 +52,11 @@ executables: []
|
|
18
52
|
extensions: []
|
19
53
|
extra_rdoc_files: []
|
20
54
|
files:
|
55
|
+
- .gitignore
|
56
|
+
- Gemfile
|
57
|
+
- Gemfile.lock
|
21
58
|
- README.md
|
59
|
+
- Rakefile
|
22
60
|
- app/assets/javascripts/styx.forms.js.coffee
|
23
61
|
- app/assets/javascripts/styx.js.coffee
|
24
62
|
- app/views/styx/_initializer.html.erb
|
@@ -28,6 +66,16 @@ files:
|
|
28
66
|
- lib/styx/forms.rb
|
29
67
|
- lib/styx/helpers.rb
|
30
68
|
- lib/styx/initializer.rb
|
69
|
+
- spec/controllers/tests_controller_spec.rb
|
70
|
+
- spec/internal/app/controllers/tests_controller.rb
|
71
|
+
- spec/internal/app/views/tests/index.html.erb
|
72
|
+
- spec/internal/config/routes.rb
|
73
|
+
- spec/internal/db/schema.rb
|
74
|
+
- spec/internal/log/.gitignore
|
75
|
+
- spec/lib/styx_forms_spec.rb
|
76
|
+
- spec/lib/styx_helpers_spec.rb
|
77
|
+
- spec/lib/styx_initializer_spec.rb
|
78
|
+
- spec/spec_helper.rb
|
31
79
|
- styx.gemspec
|
32
80
|
homepage: http://github.com/roundlake/styx
|
33
81
|
licenses: []
|