paloma 0.0.1 → 0.0.2

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.
Files changed (38) hide show
  1. data/.gitignore +18 -0
  2. data/Gemfile +3 -0
  3. data/Gemfile.lock +148 -0
  4. data/License +22 -0
  5. data/README.md +240 -0
  6. data/Rakefile +16 -0
  7. data/app/views/paloma/_callback_hook.html.erb +33 -0
  8. data/lib/paloma.rb +14 -0
  9. data/lib/paloma/action_controller_extension.rb +52 -0
  10. data/lib/paloma/action_controller_filters.rb +53 -0
  11. data/lib/paloma/paloma_generator.rb +94 -0
  12. data/lib/paloma/templates/_callbacks.js +2 -0
  13. data/lib/paloma/templates/_local.js +20 -0
  14. data/lib/paloma/templates/action.js +5 -0
  15. data/lib/paloma/templates/index.js +1 -0
  16. data/lib/paloma/templates/paloma.js +22 -0
  17. data/paloma.gemspec +23 -0
  18. data/spec/callback_spec.rb +65 -0
  19. data/spec/sample_app/app/assets/javascripts/application.js +4 -0
  20. data/spec/sample_app/app/assets/javascripts/paloma/articles/callbacks.js +1 -0
  21. data/spec/sample_app/app/assets/javascripts/paloma/articles/create.js +3 -0
  22. data/spec/sample_app/app/assets/javascripts/paloma/articles/edit.js +3 -0
  23. data/spec/sample_app/app/assets/javascripts/paloma/articles/index.js +3 -0
  24. data/spec/sample_app/app/assets/javascripts/paloma/articles/new.js +3 -0
  25. data/spec/sample_app/app/assets/javascripts/paloma/articles/show.js +3 -0
  26. data/spec/sample_app/app/assets/javascripts/paloma/articles/update.js +3 -0
  27. data/spec/sample_app/app/assets/javascripts/paloma/index.js +2 -0
  28. data/spec/sample_app/app/assets/javascripts/paloma/paloma.js +1 -0
  29. data/spec/sample_app/app/views/articles/index.html.erb +5 -0
  30. data/spec/sample_app/app/views/articles/new.html.erb +9 -0
  31. data/spec/sample_app/app/views/articles/show.html.erb +2 -0
  32. data/spec/sample_app/app/views/layouts/application.html.erb +12 -0
  33. data/spec/sample_app/controllers.rb +54 -0
  34. data/spec/sample_app/init.rb +33 -0
  35. data/spec/sample_app/model.rb +28 -0
  36. data/spec/sample_app/paloma_test +0 -0
  37. data/spec/spec_helper.rb +21 -0
  38. metadata +215 -39
@@ -0,0 +1,2 @@
1
+ //= require ./paloma
2
+ //= require ./articles/callbacks
@@ -0,0 +1 @@
1
+ window.Paloma = {callbacks:{}};
@@ -0,0 +1,5 @@
1
+ <% @articles.each do |article| %>
2
+ <div>
3
+ <%= article.title %>: <%= article.body %>
4
+ </div>
5
+ <% end %>
@@ -0,0 +1,9 @@
1
+ <%= form_for @article, :html => {:id => "article-form"} do |f| %>
2
+ Title:
3
+ <%= f.text_field :title %>
4
+
5
+ Body:
6
+ <%= f.text_area :body %>
7
+
8
+ <%= f.submit :Save %>
9
+ <% end %>
@@ -0,0 +1,2 @@
1
+ <h1><%= @article.title %></h1>
2
+ <p><%= @article.body %></p>
@@ -0,0 +1,12 @@
1
+ <!DOCTYPE HTML>
2
+ <html>
3
+ <head>
4
+ <title>Paloma</title>
5
+ <%= csrf_meta_tags %>
6
+ <%= javascript_include_tag "application" %>
7
+ </head>
8
+
9
+ <body>
10
+ <%= yield %>
11
+ </body>
12
+ </html>
@@ -0,0 +1,54 @@
1
+ # Dummy Controllers
2
+ class ApplicationController < ActionController::Base
3
+ end
4
+
5
+
6
+ class ArticlesController < ApplicationController
7
+
8
+ def index
9
+ @articles = Article.all
10
+ js_callback :params => {:article_count => @articles.size}
11
+ end
12
+
13
+
14
+ def show
15
+ @article = Article.find params[:id]
16
+ end
17
+
18
+
19
+ def new
20
+ @article = Article.new
21
+ end
22
+
23
+
24
+ def create
25
+ @article = Article.new params[:article]
26
+
27
+ if @article.save
28
+ redirect_to @article
29
+ else
30
+ js_callback :new
31
+ render :new
32
+ end
33
+ end
34
+
35
+
36
+ def edit
37
+ @article = Article.find params[:id]
38
+ render :new
39
+ end
40
+
41
+
42
+ def update
43
+ @article = Article.find params[:id]
44
+
45
+ if @article.update_attributes params[:article]
46
+ js_callback false
47
+ redirect_to @article
48
+ else
49
+ js_callback :controller => :articles, :action => :edit
50
+ render :new
51
+ end
52
+ end
53
+
54
+ end
@@ -0,0 +1,33 @@
1
+ require 'action_controller/railtie'
2
+ require 'action_view/railtie'
3
+
4
+ require 'jquery-rails'
5
+ require 'sprockets/railtie'
6
+ require 'sprockets'
7
+
8
+
9
+ # Dummy Rails Configurations
10
+ app = Class.new(Rails::Application)
11
+ app.config.secret_token = '3b7cd727ee24e8444053437c36cc66c4'
12
+ app.config.session_store :cookie_store, :key => '_myapp_session'
13
+ app.config.active_support.deprecation = :log
14
+ app.config.root = File.dirname(__FILE__)
15
+
16
+ # Assets
17
+ app.config.assets.enabled = true
18
+ app.config.assets.version = '1.0'
19
+ app.config.assets.compress = false
20
+ app.config.assets.debug = true
21
+ app.config.assets.compile = true
22
+
23
+ Rails.backtrace_cleaner.remove_silencers!
24
+ app.initialize!
25
+
26
+
27
+ # Routes
28
+ app.routes.draw do
29
+ resources :articles, :controller => 'Articles'
30
+ end
31
+
32
+ require "#{Paloma.root}/spec/sample_app/model"
33
+ require "#{Paloma.root}/spec/sample_app/controllers"
@@ -0,0 +1,28 @@
1
+ # ActiveRecord Configuration
2
+ # We are not using :memory: database to handle javascript requests on controller
3
+ require 'active_record/railtie'
4
+ ActiveRecord::Base.configurations = {'test' => {:adapter => 'sqlite3', :database => 'paloma_test'}}
5
+ ActiveRecord::Base.establish_connection('test')
6
+
7
+
8
+ # Model
9
+ class Article < ActiveRecord::Base
10
+ attr_accessible :title, :body
11
+
12
+ validates_presence_of :title
13
+ end
14
+
15
+
16
+ # Migration
17
+ class CreateArticles < ActiveRecord::Migration
18
+ def self.up
19
+ create_table :articles, :force => true do |t|
20
+ t.string :title
21
+ t.string :body
22
+ end
23
+ end
24
+ end
25
+
26
+
27
+ ActiveRecord::Migration.verbose = false
28
+ CreateArticles.up
Binary file
@@ -0,0 +1,21 @@
1
+ require 'rails'
2
+ require 'bundler/setup'
3
+ Bundler.require
4
+
5
+ require 'sample_app/init'
6
+ require 'rspec/rails'
7
+
8
+
9
+ require 'capybara/rspec'
10
+ require 'database_cleaner'
11
+
12
+ RSpec.configure do |config|
13
+ config.before :each do
14
+ DatabaseCleaner.strategy = :truncation
15
+ DatabaseCleaner.start
16
+ end
17
+
18
+ config.after do
19
+ DatabaseCleaner.clean
20
+ end
21
+ end
metadata CHANGED
@@ -1,66 +1,242 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: paloma
3
- version: !ruby/object:Gem::Version
4
- hash: 29
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.2
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 0
9
- - 1
10
- version: 0.0.1
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Karl Paragua
14
9
  - Bia Esmero
15
10
  autorequire:
16
11
  bindir: bin
17
12
  cert_chain: []
18
-
19
- date: 2012-12-17 00:00:00 Z
20
- dependencies: []
21
-
13
+ date: 2012-12-17 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: jquery-rails
17
+ requirement: !ruby/object:Gem::Requirement
18
+ none: false
19
+ requirements:
20
+ - - ! '>='
21
+ - !ruby/object:Gem::Version
22
+ version: '0'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - ! '>='
29
+ - !ruby/object:Gem::Version
30
+ version: '0'
31
+ - !ruby/object:Gem::Dependency
32
+ name: rails
33
+ requirement: !ruby/object:Gem::Requirement
34
+ none: false
35
+ requirements:
36
+ - - ! '>='
37
+ - !ruby/object:Gem::Version
38
+ version: 3.1.0
39
+ type: :development
40
+ prerelease: false
41
+ version_requirements: !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
44
+ - - ! '>='
45
+ - !ruby/object:Gem::Version
46
+ version: 3.1.0
47
+ - !ruby/object:Gem::Dependency
48
+ name: bundler
49
+ requirement: !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: 1.0.0
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: !ruby/object:Gem::Requirement
58
+ none: false
59
+ requirements:
60
+ - - ! '>='
61
+ - !ruby/object:Gem::Version
62
+ version: 1.0.0
63
+ - !ruby/object:Gem::Dependency
64
+ name: rake
65
+ requirement: !ruby/object:Gem::Requirement
66
+ none: false
67
+ requirements:
68
+ - - ! '>='
69
+ - !ruby/object:Gem::Version
70
+ version: '0'
71
+ type: :development
72
+ prerelease: false
73
+ version_requirements: !ruby/object:Gem::Requirement
74
+ none: false
75
+ requirements:
76
+ - - ! '>='
77
+ - !ruby/object:Gem::Version
78
+ version: '0'
79
+ - !ruby/object:Gem::Dependency
80
+ name: sqlite3
81
+ requirement: !ruby/object:Gem::Requirement
82
+ none: false
83
+ requirements:
84
+ - - ! '>='
85
+ - !ruby/object:Gem::Version
86
+ version: '0'
87
+ type: :development
88
+ prerelease: false
89
+ version_requirements: !ruby/object:Gem::Requirement
90
+ none: false
91
+ requirements:
92
+ - - ! '>='
93
+ - !ruby/object:Gem::Version
94
+ version: '0'
95
+ - !ruby/object:Gem::Dependency
96
+ name: rspec
97
+ requirement: !ruby/object:Gem::Requirement
98
+ none: false
99
+ requirements:
100
+ - - ! '>='
101
+ - !ruby/object:Gem::Version
102
+ version: '0'
103
+ type: :development
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ none: false
107
+ requirements:
108
+ - - ! '>='
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: rspec-rails
113
+ requirement: !ruby/object:Gem::Requirement
114
+ none: false
115
+ requirements:
116
+ - - ~>
117
+ - !ruby/object:Gem::Version
118
+ version: '2.0'
119
+ type: :development
120
+ prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ none: false
123
+ requirements:
124
+ - - ~>
125
+ - !ruby/object:Gem::Version
126
+ version: '2.0'
127
+ - !ruby/object:Gem::Dependency
128
+ name: capybara
129
+ requirement: !ruby/object:Gem::Requirement
130
+ none: false
131
+ requirements:
132
+ - - ! '>='
133
+ - !ruby/object:Gem::Version
134
+ version: '1.0'
135
+ type: :development
136
+ prerelease: false
137
+ version_requirements: !ruby/object:Gem::Requirement
138
+ none: false
139
+ requirements:
140
+ - - ! '>='
141
+ - !ruby/object:Gem::Version
142
+ version: '1.0'
143
+ - !ruby/object:Gem::Dependency
144
+ name: database_cleaner
145
+ requirement: !ruby/object:Gem::Requirement
146
+ none: false
147
+ requirements:
148
+ - - ! '>='
149
+ - !ruby/object:Gem::Version
150
+ version: '0'
151
+ type: :development
152
+ prerelease: false
153
+ version_requirements: !ruby/object:Gem::Requirement
154
+ none: false
155
+ requirements:
156
+ - - ! '>='
157
+ - !ruby/object:Gem::Version
158
+ version: '0'
159
+ - !ruby/object:Gem::Dependency
160
+ name: launchy
161
+ requirement: !ruby/object:Gem::Requirement
162
+ none: false
163
+ requirements:
164
+ - - ! '>='
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
167
+ type: :development
168
+ prerelease: false
169
+ version_requirements: !ruby/object:Gem::Requirement
170
+ none: false
171
+ requirements:
172
+ - - ! '>='
173
+ - !ruby/object:Gem::Version
174
+ version: '0'
22
175
  description: Javascript Callback Manager for Rails
23
176
  email: kb.paragua@gmail.com
24
177
  executables: []
25
-
26
178
  extensions: []
27
-
28
179
  extra_rdoc_files: []
29
-
30
- files:
180
+ files:
181
+ - .gitignore
182
+ - Gemfile
183
+ - Gemfile.lock
184
+ - License
185
+ - README.md
186
+ - Rakefile
187
+ - app/views/paloma/_callback_hook.html.erb
31
188
  - lib/paloma.rb
189
+ - lib/paloma/action_controller_extension.rb
190
+ - lib/paloma/action_controller_filters.rb
191
+ - lib/paloma/paloma_generator.rb
192
+ - lib/paloma/templates/_callbacks.js
193
+ - lib/paloma/templates/_local.js
194
+ - lib/paloma/templates/action.js
195
+ - lib/paloma/templates/index.js
196
+ - lib/paloma/templates/paloma.js
197
+ - paloma.gemspec
198
+ - spec/callback_spec.rb
199
+ - spec/sample_app/app/assets/javascripts/application.js
200
+ - spec/sample_app/app/assets/javascripts/paloma/articles/callbacks.js
201
+ - spec/sample_app/app/assets/javascripts/paloma/articles/create.js
202
+ - spec/sample_app/app/assets/javascripts/paloma/articles/edit.js
203
+ - spec/sample_app/app/assets/javascripts/paloma/articles/index.js
204
+ - spec/sample_app/app/assets/javascripts/paloma/articles/new.js
205
+ - spec/sample_app/app/assets/javascripts/paloma/articles/show.js
206
+ - spec/sample_app/app/assets/javascripts/paloma/articles/update.js
207
+ - spec/sample_app/app/assets/javascripts/paloma/index.js
208
+ - spec/sample_app/app/assets/javascripts/paloma/paloma.js
209
+ - spec/sample_app/app/views/articles/index.html.erb
210
+ - spec/sample_app/app/views/articles/new.html.erb
211
+ - spec/sample_app/app/views/articles/show.html.erb
212
+ - spec/sample_app/app/views/layouts/application.html.erb
213
+ - spec/sample_app/controllers.rb
214
+ - spec/sample_app/init.rb
215
+ - spec/sample_app/model.rb
216
+ - spec/sample_app/paloma_test
217
+ - spec/spec_helper.rb
32
218
  homepage: https://github.com/kbparagua/paloma
33
219
  licenses: []
34
-
35
220
  post_install_message:
36
221
  rdoc_options: []
37
-
38
- require_paths:
222
+ require_paths:
39
223
  - lib
40
- required_ruby_version: !ruby/object:Gem::Requirement
224
+ required_ruby_version: !ruby/object:Gem::Requirement
41
225
  none: false
42
- requirements:
43
- - - ">="
44
- - !ruby/object:Gem::Version
45
- hash: 3
46
- segments:
47
- - 0
48
- version: "0"
49
- required_rubygems_version: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - ! '>='
228
+ - !ruby/object:Gem::Version
229
+ version: '0'
230
+ required_rubygems_version: !ruby/object:Gem::Requirement
50
231
  none: false
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- hash: 3
55
- segments:
56
- - 0
57
- version: "0"
232
+ requirements:
233
+ - - ! '>='
234
+ - !ruby/object:Gem::Version
235
+ version: '0'
58
236
  requirements: []
59
-
60
237
  rubyforge_project:
61
- rubygems_version: 1.8.23
238
+ rubygems_version: 1.8.24
62
239
  signing_key:
63
240
  specification_version: 3
64
241
  summary: Javascript Callback Manager for Rails
65
242
  test_files: []
66
-