voluntary-ember_js 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (27) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +3 -0
  4. data/Rakefile +29 -0
  5. data/app/assets/images/voluntary/ember_js/spinner.gif +0 -0
  6. data/app/assets/javascripts/voluntary/ember_js/adapters/application_adapter.js.coffee +5 -0
  7. data/app/assets/javascripts/voluntary/ember_js/app.js.coffee +10 -0
  8. data/app/assets/javascripts/voluntary/ember_js/application.js +10 -0
  9. data/app/assets/javascripts/voluntary/ember_js/controllers/application_controller.js.coffee +10 -0
  10. data/app/assets/javascripts/voluntary/ember_js/external/preload_store.js +83 -0
  11. data/app/assets/javascripts/voluntary/ember_js/models/user.js.coffee +3 -0
  12. data/app/assets/javascripts/voluntary/ember_js/router.js.coffee +5 -0
  13. data/app/assets/javascripts/voluntary/ember_js/routes/application_route.js.coffee +22 -0
  14. data/app/assets/javascripts/voluntary/ember_js/serializers/application_serializer.js.coffee +1 -0
  15. data/app/assets/javascripts/voluntary/ember_js/views/application_view.js.coffee +2 -0
  16. data/app/assets/stylesheets/voluntary/ember_js/application.css +13 -0
  17. data/app/controllers/voluntary/ember_js/application_controller.rb +105 -0
  18. data/app/serializers/application_serializer.rb +3 -0
  19. data/app/serializers/basic_user_serializer.rb +3 -0
  20. data/app/serializers/current_user_serializer.rb +3 -0
  21. data/app/serializers/user_serializer.rb +2 -0
  22. data/app/views/layouts/voluntary/ember_js.html.erb +70 -0
  23. data/config/routes.rb +2 -0
  24. data/lib/voluntary/ember_js/engine.rb +13 -0
  25. data/lib/voluntary/ember_js/version.rb +5 -0
  26. data/lib/voluntary/ember_js.rb +8 -0
  27. metadata +392 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 757dbdd5f35b39bd54b73bc1d6972a1820c729c6
4
+ data.tar.gz: bc3ca252f712fe8b6d87d16db36ce0292543e052
5
+ SHA512:
6
+ metadata.gz: 9eae05cd6bd9ce64c8bad280a5d45168430cdf4a2698de516195a1d2096c0d2121b7ed85406f48c2f613ae6cc09297438486247299aaf12a59af5759a4552830
7
+ data.tar.gz: fcf83e0e14d2e6f01cba0e9bff7374c21a63cac1ed9900e44b1b0b61d35015b0f47969863619de583fb05c1c88518dc9250c1560937a9f0fa4391c5f21076516
data/MIT-LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright 2013 - 2015 Mathias Gawlista
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,3 @@
1
+ # voluntary-ember_js
2
+
3
+ Ember.js support for crowdsourcing management system gem http://Voluntary.Software.
data/Rakefile ADDED
@@ -0,0 +1,29 @@
1
+ #!/usr/bin/env rake
2
+ begin
3
+ require 'bundler/setup'
4
+ rescue LoadError
5
+ puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
6
+ end
7
+ begin
8
+ require 'rdoc/task'
9
+ rescue LoadError
10
+ require 'rdoc/rdoc'
11
+ require 'rake/rdoctask'
12
+ RDoc::Task = Rake::RDocTask
13
+ end
14
+
15
+ RDoc::Task.new(:rdoc) do |rdoc|
16
+ rdoc.rdoc_dir = 'rdoc'
17
+ rdoc.title = 'Voluntary::EmberJs'
18
+ rdoc.options << '--line-numbers'
19
+ rdoc.rdoc_files.include('README.rdoc')
20
+ rdoc.rdoc_files.include('lib/**/*.rb')
21
+ end
22
+
23
+ APP_RAKEFILE = File.expand_path("../dummy/Rakefile", __FILE__)
24
+ load 'rails/tasks/engine.rake'
25
+
26
+
27
+
28
+ Bundler::GemHelper.install_tasks
29
+
@@ -0,0 +1,5 @@
1
+ Volontariat.ApplicationAdapter = DS.RESTAdapter.extend
2
+ namespace: 'api/v1',
3
+ pathForType: (type) ->
4
+ underscored = Ember.String.underscore(type)
5
+ Ember.String.pluralize underscored
@@ -0,0 +1,10 @@
1
+ #= require_tree ./adapters
2
+ #= require_tree ./serializers
3
+ #= require_tree ./models
4
+ #= require_tree ./controllers
5
+ #= require_tree ./views
6
+ #= require_tree ./helpers
7
+ #= require_tree ./templates
8
+ #= require_tree ./routes
9
+ #= require ./router
10
+ #= require_self
@@ -0,0 +1,10 @@
1
+ //= require voluntary/application
2
+ //= require handlebars
3
+ //= require ember
4
+ //= require ember-data
5
+ //= require ember-template-compiler
6
+ //= require active-model-adapter
7
+ //= require_self
8
+ //= require ./app
9
+
10
+ Volontariat = Ember.Application.create({ LOG_TRANSITIONS: true, rootElement: '#outlet' });
@@ -0,0 +1,10 @@
1
+ Volontariat.ApplicationController = Ember.Controller.extend
2
+
3
+ actions:
4
+
5
+ signOut: ->
6
+ $.ajax('/users/sign_out', type: 'DELETE').done((data) =>
7
+ window.location.reload()
8
+ ).fail((data) ->
9
+ alert 'Signing out failed!'
10
+ )
@@ -0,0 +1,83 @@
1
+
2
+ /**
3
+ We can insert data into the PreloadStore when the document is loaded.
4
+ The data can be accessed once by a key, after which it is removed
5
+
6
+ @class PreloadStore
7
+ **/
8
+ PreloadStore = {
9
+ data: {},
10
+
11
+ /**
12
+ Store an object in the store
13
+
14
+ @method store
15
+ @param {String} key the key to store the object with
16
+ @param {String} value the object we're inserting into the store
17
+ **/
18
+ store: function(key, value) {
19
+ this.data[key] = value;
20
+ },
21
+
22
+ /**
23
+ To retrieve a key, you provide the key you want, plus a finder to load
24
+ it if the key cannot be found. Once the key is used once, it is removed
25
+ from the store.
26
+ So, for example, you can't load a preloaded topic more than once.
27
+
28
+ @method getAndRemove
29
+ @param {String} key the key to look up the object with
30
+ @param {function} finder a function to find the object with
31
+ @returns {Ember.Deferred} a promise that will eventually be the object we want.
32
+ **/
33
+ getAndRemove: function(key, finder) {
34
+ var preloadStore = this;
35
+ return Ember.Deferred.promise(function(promise) {
36
+ if (preloadStore.data[key]) {
37
+ promise.resolve(preloadStore.data[key]);
38
+ delete preloadStore.data[key];
39
+ } else {
40
+
41
+ if (finder) {
42
+ var result = finder();
43
+
44
+ // If the finder returns a promise, we support that too
45
+ if (result.then) {
46
+ result.then(function(result) {
47
+ return promise.resolve(result);
48
+ }, function(result) {
49
+ return promise.reject(result);
50
+ });
51
+ } else {
52
+ promise.resolve(result);
53
+ }
54
+ } else {
55
+ promise.resolve(null);
56
+ }
57
+ }
58
+ });
59
+ },
60
+
61
+ /**
62
+ If we are sure it's preloaded, we don't have to supply a finder.
63
+ Just returns undefined if it's not in the store.
64
+
65
+ @method get
66
+ @param {String} key the key to look up the object with
67
+ @returns {Object} the object from the store
68
+ **/
69
+ "get": function(key) {
70
+ return this.data[key];
71
+ },
72
+
73
+ /**
74
+ Removes the stored value if the key exists
75
+
76
+ @method remove
77
+ @param {String} key the key to remove
78
+ **/
79
+ remove: function(key) {
80
+ if (this.data[key]) delete this.data[key];
81
+ }
82
+
83
+ };
@@ -0,0 +1,3 @@
1
+ Volontariat.User = DS.Model.extend
2
+ name: DS.attr('string'),
3
+ email: DS.attr('string')
@@ -0,0 +1,5 @@
1
+ Volontariat.Router.map ->
2
+ @resource 'users'
3
+
4
+ Volontariat.Router.reopen
5
+ location: 'hash'
@@ -0,0 +1,22 @@
1
+ Volontariat.ApplicationRoute = Ember.Route.extend
2
+ actions:
3
+
4
+ error: (error, transition) ->
5
+ if error.status == 0
6
+ alert 'Sorry, but we\'re having trouble connecting to the server. This problem is usually the result of a broken Internet connection. You can try refreshing this page.'
7
+ else if error.status == 403
8
+ alert 'Access denied!'
9
+ else if error.status == 401
10
+ alert 'Authentication required!'
11
+ else if error.status == 404
12
+ alert 'Page not found!'
13
+ else
14
+ alert "Something went wrong: HTTP status code #{error.status}!"
15
+
16
+ if error.status == undefined
17
+ return true
18
+ else
19
+ @transitionTo('index')
20
+
21
+ renderTemplate: ->
22
+ @render 'application'
@@ -0,0 +1 @@
1
+ Volontariat.ApplicationSerializer = DS.ActiveModelSerializer.extend()
@@ -0,0 +1,2 @@
1
+ Volontariat.ApplicationView = Ember.View.extend
2
+ currentUserBinding: 'Volontariat.currentUser'
@@ -0,0 +1,13 @@
1
+ /*
2
+ * This is a manifest file that'll be compiled into application.css, which will include all the files
3
+ * listed below.
4
+ *
5
+ * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
6
+ * or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
7
+ *
8
+ * You're free to add application-wide styles to this file and they'll appear at the top of the
9
+ * compiled file, but it's generally better to create a new file per style scope.
10
+ *
11
+ *= require voluntary/application
12
+ *= require_self
13
+ */
@@ -0,0 +1,105 @@
1
+ class Voluntary::EmberJs::ApplicationController < ApplicationController
2
+ before_filter :preload_json
3
+
4
+ helper_method :voluntary_ember_js_stylesheets, :voluntary_ember_js_javascripts
5
+
6
+ protected
7
+
8
+ def voluntary_ember_js_stylesheets
9
+ ['voluntary_ember_js/application']
10
+ end
11
+
12
+ def voluntary_ember_js_javascripts
13
+ ['voluntary_ember_js/application']
14
+ end
15
+
16
+ def render_json_error(obj)
17
+ errors = obj.respond_to?(:errors) ? obj.errors.full_messages : obj
18
+ render json: MultiJson.dump(errors: errors), status: 422
19
+ end
20
+
21
+ private
22
+
23
+ # If we are rendering HTML, preload the session data
24
+ def preload_json
25
+ return unless request.format && request.format.html? && current_user.present?
26
+
27
+ store_preloaded("currentUser", MultiJson.dump(CurrentUserSerializer.new(current_user, root: false)))
28
+ end
29
+
30
+ def log_on_user(user)
31
+ session[:current_user_id] = user.id
32
+
33
+ unless user.auth_token && user.auth_token.length == 32
34
+ user.auth_token = SecureRandom.hex(16)
35
+ user.save!
36
+ end
37
+
38
+ set_permanent_cookie!(user)
39
+ end
40
+
41
+ def set_permanent_cookie!(user)
42
+ cookies.permanent["_t"] = { value: user.auth_token, httponly: true }
43
+ end
44
+
45
+ =begin
46
+ def current_user
47
+ return @current_user if @current_user# || @not_logged_in
48
+
49
+ if session[:current_user_id].blank?
50
+ # maybe we have a cookie?
51
+ @current_user = User.lookup_from_auth_token(cookies["_t"])
52
+ session[:current_user_id] = @current_user.id if @current_user
53
+ else
54
+ @current_user ||= User.where(id: session[:current_user_id]).first
55
+ end
56
+
57
+ @not_logged_in = session[:current_user_id].blank?
58
+
59
+ unless @current_user
60
+ # possible we have an api call, impersonate
61
+ raise NotImplementedError
62
+
63
+ return unless api_key = request["api_key"]
64
+ return unless api_user_name = request["api_user_name"]
65
+ return unless api_key_valid?(api_key)
66
+
67
+ @current_user = User.where(name: api_user_name.downcase).first
68
+ end
69
+
70
+ @current_user
71
+ end
72
+ =end
73
+
74
+ def api_key_valid?
75
+ raise NotImplementedError
76
+ end
77
+
78
+ def store_preloaded(key, json)
79
+ @preloaded ||= {}
80
+
81
+ # I dislike that there is a gsub as opposed to a gsub!
82
+ # but we can not be mucking with user input, I wonder if there is a way
83
+ # to inject this safty deeper in the library or even in AM serializer
84
+ @preloaded[key] = json.gsub("</", "<\\/")
85
+ end
86
+
87
+ def access_denied(exception)
88
+ request.xhr? || request.format.try('json?') ? render(text: 'Access denied!') : redirect_to(root_path, alert: "<b>#{exception.message}</b>")
89
+ end
90
+
91
+ def not_found(e)
92
+ if Rails.env.development?
93
+ raise e
94
+ elsif request.xhr? || request.format.try('json?')
95
+ render_json_error(['Page not found'])
96
+ #render json: { error: 'Page not found.' }
97
+ else
98
+ if ['staging', 'production'].include? Rails.env.to_s
99
+ render nothing: true, status: 404
100
+ else
101
+ redirect_to root_path, alert: 'Page not found.'
102
+ end
103
+ end
104
+ end
105
+ end
@@ -0,0 +1,3 @@
1
+ class ApplicationSerializer < ActiveModel::Serializer
2
+ embed :ids, include: true
3
+ end
@@ -0,0 +1,3 @@
1
+ class BasicUserSerializer < ApplicationSerializer
2
+ attributes :id, :name, :email
3
+ end
@@ -0,0 +1,3 @@
1
+ class CurrentUserSerializer < BasicUserSerializer
2
+ #attributes :admin?
3
+ end
@@ -0,0 +1,2 @@
1
+ class UserSerializer < BasicUserSerializer
2
+ end
@@ -0,0 +1,70 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title><%= t('layout.title') %></title>
5
+ <meta charset='utf-8'>
6
+ <meta content='text/html; charset=utf-8' http-equiv='Content-Type'>
7
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
8
+ <%= javascript_include_tag 'voluntary/ember_js/external/preload_store' %>
9
+ <%= stylesheet_link_tag *voluntary_ember_js_stylesheets, media: 'all' %>
10
+ <!--<link href="//netdna.bootstrapcdn.com/font-awesome/3.1.1/css/font-awesome.css" rel="stylesheet"/>-->
11
+ <%= csrf_meta_tags %>
12
+ </head>
13
+ <body>
14
+ <div id="wrap">
15
+ <div id="outlet">
16
+ </div>
17
+ <%= yield %>
18
+ <div id="push"></div>
19
+ </div>
20
+ <div id="footer">
21
+ <div class="container">
22
+ <p class="muted credit">
23
+ <!--
24
+ <span>
25
+ <%= raw t(
26
+ 'general.footer.credits.twitter_bootstrap',
27
+ mdo: link_to('@mdo', 'http://Twitter.com/mdo'), fat: link_to('@fat', 'http://Twitter.com/fat'),
28
+ ) %>
29
+ </span>
30
+ <br/>
31
+ <span>
32
+ <%= t('general.footer.credits.sticky_footer') %> <a href="http://ryanfait.com/sticky-footer/">Ryan Fait</a>.
33
+ </span>
34
+ <br/>
35
+ -->
36
+ <%= footer_navigation %>
37
+ <br/>
38
+ <span>
39
+ <%= raw t('general.footer.credits.voluntary', link: link_to('Voluntary.Software', 'http://Voluntary.Software')) %>.
40
+ </span>
41
+ <br/>
42
+ <span>
43
+ <%= raw t('general.footer.license', link: link_to('MIT', 'https://github.com/volontariat/voluntary/blob/master/MIT-LICENSE')) %>.
44
+ </span>
45
+ <br/>
46
+ </p>
47
+ </div>
48
+ </div>
49
+ <%- if @preloaded.present? %>
50
+ <script>
51
+ <%- @preloaded.each do |key, json| %>
52
+ PreloadStore.store('<%= key %>',<%= raw json %>);
53
+ <% end %>
54
+ </script>
55
+ <%- end %>
56
+
57
+ <!--
58
+ # TODO: don't override voluntary_ember_js' emberjs.html.erb and override ApplicationHelper instead
59
+ #= javascript_include_tag *voluntary_ember_js_javascripts %>
60
+ -->
61
+ <%= javascript_include_tag *voluntary_ember_js_javascripts %>
62
+ <%= javascript_tag do %>
63
+ <%= yield :top_javascript %>
64
+
65
+ $(function() {
66
+ <%= yield(:document_ready) %>
67
+ });
68
+ <% end %>
69
+ </body>
70
+ </html>
data/config/routes.rb ADDED
@@ -0,0 +1,2 @@
1
+ Rails.application.routes.draw do
2
+ end
@@ -0,0 +1,13 @@
1
+ module Voluntary::EmberJs
2
+ class Engine < ::Rails::Engine
3
+ initializer 'configure ember-rails', before: 'ember_rails.setup_vendor' do
4
+ config.ember.variant = Rails.env
5
+
6
+ if defined?(HandlebarsAssets)
7
+ HandlebarsAssets::Config.ember = true
8
+ end
9
+
10
+ config.handlebars.templates_root = ['templates', 'voluntary/ember_js/templates']
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,5 @@
1
+ module Voluntary
2
+ module EmberJs
3
+ VERSION = "0.0.1"
4
+ end
5
+ end
@@ -0,0 +1,8 @@
1
+ require 'ember-rails'
2
+
3
+ require 'voluntary/ember_js/engine'
4
+
5
+ module Voluntary
6
+ module EmberJs
7
+ end
8
+ end
metadata ADDED
@@ -0,0 +1,392 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: voluntary-ember_js
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Mathias Gawlista
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-08-17 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: voluntary
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 0.5.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 0.5.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: ember-rails
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 0.19.0
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 0.19.0
41
+ - !ruby/object:Gem::Dependency
42
+ name: ember-source
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '='
46
+ - !ruby/object:Gem::Version
47
+ version: 1.13.8
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '='
53
+ - !ruby/object:Gem::Version
54
+ version: 1.13.8
55
+ - !ruby/object:Gem::Dependency
56
+ name: ember-data-source
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '='
60
+ - !ruby/object:Gem::Version
61
+ version: 1.13.8
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '='
67
+ - !ruby/object:Gem::Version
68
+ version: 1.13.8
69
+ - !ruby/object:Gem::Dependency
70
+ name: active_model_serializers
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: 0.9.3
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 0.9.3
83
+ - !ruby/object:Gem::Dependency
84
+ name: letter_opener
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: 1.0.0
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: 1.0.0
97
+ - !ruby/object:Gem::Dependency
98
+ name: oink
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: 0.10.1
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: 0.10.1
111
+ - !ruby/object:Gem::Dependency
112
+ name: awesome_print
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: 1.1.0
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: 1.1.0
125
+ - !ruby/object:Gem::Dependency
126
+ name: rspec-rails
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '2.0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '2.0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: capybara
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: 1.1.2
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: 1.1.2
153
+ - !ruby/object:Gem::Dependency
154
+ name: capybara-webkit
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: 0.13.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.13.0
167
+ - !ruby/object:Gem::Dependency
168
+ name: cucumber-rails
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - "~>"
172
+ - !ruby/object:Gem::Version
173
+ version: 1.3.0
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - "~>"
179
+ - !ruby/object:Gem::Version
180
+ version: 1.3.0
181
+ - !ruby/object:Gem::Dependency
182
+ name: cucumber-rails-training-wheels
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - "~>"
186
+ - !ruby/object:Gem::Version
187
+ version: 1.0.0
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - "~>"
193
+ - !ruby/object:Gem::Version
194
+ version: 1.0.0
195
+ - !ruby/object:Gem::Dependency
196
+ name: timecop
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - "~>"
200
+ - !ruby/object:Gem::Version
201
+ version: 0.6.1
202
+ type: :development
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - "~>"
207
+ - !ruby/object:Gem::Version
208
+ version: 0.6.1
209
+ - !ruby/object:Gem::Dependency
210
+ name: factory_girl_rails
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - "~>"
214
+ - !ruby/object:Gem::Version
215
+ version: 1.7.0
216
+ type: :development
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - "~>"
221
+ - !ruby/object:Gem::Version
222
+ version: 1.7.0
223
+ - !ruby/object:Gem::Dependency
224
+ name: fixture_builder
225
+ requirement: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - "~>"
228
+ - !ruby/object:Gem::Version
229
+ version: 0.3.3
230
+ type: :development
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - "~>"
235
+ - !ruby/object:Gem::Version
236
+ version: 0.3.3
237
+ - !ruby/object:Gem::Dependency
238
+ name: selenium-webdriver
239
+ requirement: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - "~>"
242
+ - !ruby/object:Gem::Version
243
+ version: 2.22.1
244
+ type: :development
245
+ prerelease: false
246
+ version_requirements: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - "~>"
249
+ - !ruby/object:Gem::Version
250
+ version: 2.22.1
251
+ - !ruby/object:Gem::Dependency
252
+ name: spork
253
+ requirement: !ruby/object:Gem::Requirement
254
+ requirements:
255
+ - - "~>"
256
+ - !ruby/object:Gem::Version
257
+ version: 1.0rc2
258
+ type: :development
259
+ prerelease: false
260
+ version_requirements: !ruby/object:Gem::Requirement
261
+ requirements:
262
+ - - "~>"
263
+ - !ruby/object:Gem::Version
264
+ version: 1.0rc2
265
+ - !ruby/object:Gem::Dependency
266
+ name: guard-rspec
267
+ requirement: !ruby/object:Gem::Requirement
268
+ requirements:
269
+ - - "~>"
270
+ - !ruby/object:Gem::Version
271
+ version: 3.0.2
272
+ type: :development
273
+ prerelease: false
274
+ version_requirements: !ruby/object:Gem::Requirement
275
+ requirements:
276
+ - - "~>"
277
+ - !ruby/object:Gem::Version
278
+ version: 3.0.2
279
+ - !ruby/object:Gem::Dependency
280
+ name: guard-spork
281
+ requirement: !ruby/object:Gem::Requirement
282
+ requirements:
283
+ - - "~>"
284
+ - !ruby/object:Gem::Version
285
+ version: 1.5.1
286
+ type: :development
287
+ prerelease: false
288
+ version_requirements: !ruby/object:Gem::Requirement
289
+ requirements:
290
+ - - "~>"
291
+ - !ruby/object:Gem::Version
292
+ version: 1.5.1
293
+ - !ruby/object:Gem::Dependency
294
+ name: guard-cucumber
295
+ requirement: !ruby/object:Gem::Requirement
296
+ requirements:
297
+ - - "~>"
298
+ - !ruby/object:Gem::Version
299
+ version: 1.4.0
300
+ type: :development
301
+ prerelease: false
302
+ version_requirements: !ruby/object:Gem::Requirement
303
+ requirements:
304
+ - - "~>"
305
+ - !ruby/object:Gem::Version
306
+ version: 1.4.0
307
+ - !ruby/object:Gem::Dependency
308
+ name: launchy
309
+ requirement: !ruby/object:Gem::Requirement
310
+ requirements:
311
+ - - "~>"
312
+ - !ruby/object:Gem::Version
313
+ version: 2.1.2
314
+ type: :development
315
+ prerelease: false
316
+ version_requirements: !ruby/object:Gem::Requirement
317
+ requirements:
318
+ - - "~>"
319
+ - !ruby/object:Gem::Version
320
+ version: 2.1.2
321
+ - !ruby/object:Gem::Dependency
322
+ name: database_cleaner
323
+ requirement: !ruby/object:Gem::Requirement
324
+ requirements:
325
+ - - "~>"
326
+ - !ruby/object:Gem::Version
327
+ version: 0.7.1
328
+ type: :development
329
+ prerelease: false
330
+ version_requirements: !ruby/object:Gem::Requirement
331
+ requirements:
332
+ - - "~>"
333
+ - !ruby/object:Gem::Version
334
+ version: 0.7.1
335
+ description: 'Ember.js support for #crowdsourcing management system voluntary: bit.ly/vej-0-0-1'
336
+ email:
337
+ - gawlista@gmail.com
338
+ executables: []
339
+ extensions: []
340
+ extra_rdoc_files: []
341
+ files:
342
+ - MIT-LICENSE
343
+ - README.md
344
+ - Rakefile
345
+ - app/assets/images/voluntary/ember_js/spinner.gif
346
+ - app/assets/javascripts/voluntary/ember_js/adapters/application_adapter.js.coffee
347
+ - app/assets/javascripts/voluntary/ember_js/app.js.coffee
348
+ - app/assets/javascripts/voluntary/ember_js/application.js
349
+ - app/assets/javascripts/voluntary/ember_js/controllers/application_controller.js.coffee
350
+ - app/assets/javascripts/voluntary/ember_js/external/preload_store.js
351
+ - app/assets/javascripts/voluntary/ember_js/models/user.js.coffee
352
+ - app/assets/javascripts/voluntary/ember_js/router.js.coffee
353
+ - app/assets/javascripts/voluntary/ember_js/routes/application_route.js.coffee
354
+ - app/assets/javascripts/voluntary/ember_js/serializers/application_serializer.js.coffee
355
+ - app/assets/javascripts/voluntary/ember_js/views/application_view.js.coffee
356
+ - app/assets/stylesheets/voluntary/ember_js/application.css
357
+ - app/controllers/voluntary/ember_js/application_controller.rb
358
+ - app/serializers/application_serializer.rb
359
+ - app/serializers/basic_user_serializer.rb
360
+ - app/serializers/current_user_serializer.rb
361
+ - app/serializers/user_serializer.rb
362
+ - app/views/layouts/voluntary/ember_js.html.erb
363
+ - config/routes.rb
364
+ - lib/voluntary/ember_js.rb
365
+ - lib/voluntary/ember_js/engine.rb
366
+ - lib/voluntary/ember_js/version.rb
367
+ homepage: http://Volontari.at
368
+ licenses:
369
+ - MIT
370
+ metadata: {}
371
+ post_install_message:
372
+ rdoc_options: []
373
+ require_paths:
374
+ - lib
375
+ required_ruby_version: !ruby/object:Gem::Requirement
376
+ requirements:
377
+ - - ">="
378
+ - !ruby/object:Gem::Version
379
+ version: '0'
380
+ required_rubygems_version: !ruby/object:Gem::Requirement
381
+ requirements:
382
+ - - ">="
383
+ - !ruby/object:Gem::Version
384
+ version: '0'
385
+ requirements: []
386
+ rubyforge_project:
387
+ rubygems_version: 2.4.5
388
+ signing_key:
389
+ specification_version: 4
390
+ summary: Ember.js support for crowdsourcing management system gem voluntary.
391
+ test_files: []
392
+ has_rdoc: