drailties 0.1.0 → 0.2.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.
Files changed (25) hide show
  1. checksums.yaml +4 -4
  2. data/lib/drails/server/domain_server.rb +12 -2
  3. data/lib/drails/server/projection_servers.rb +10 -3
  4. data/lib/generators/drails/app/app_generator.rb +4 -0
  5. data/lib/generators/drails/app/templates/build_validations_registry.rb +15 -2
  6. data/lib/generators/drails/app/templates/event_source_controller.rb +16 -0
  7. data/lib/generators/drails/controller/controller_generator.rb +6 -1
  8. data/lib/generators/drails/controller/templates/controller.rb +12 -3
  9. data/lib/generators/drails/controller/templates/controller_test.rb +45 -0
  10. data/lib/generators/drails/model/USAGE +15 -0
  11. data/lib/generators/drails/model/model_generator.rb +43 -0
  12. data/lib/generators/drails/projection/USAGE +3 -7
  13. data/lib/generators/drails/projection/projection_generator.rb +6 -10
  14. data/lib/generators/drails/projection/templates/domain_projection.rb +5 -1
  15. data/lib/generators/drails/projection/templates/domain_projection_test.rb +6 -0
  16. data/lib/generators/drails/projection/templates/projection.rb +5 -1
  17. data/lib/generators/drails/projection/templates/projection_test.rb +6 -0
  18. data/lib/generators/drails/scaffold/USAGE +1 -3
  19. data/lib/generators/drails/scaffold/scaffold_generator.rb +20 -6
  20. data/lib/generators/drails/scaffold/templates/_eventstream.js.erb +16 -0
  21. data/lib/rails-disco/version.rb +1 -1
  22. data/lib/tasks/db.rake +1 -0
  23. metadata +17 -10
  24. /data/lib/generators/drails/{projection → model}/templates/domain_model.rb +0 -0
  25. /data/lib/generators/drails/{projection → model}/templates/model.rb +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 65530ec8ee4b4e0bb596565ebc246edd1cf6f098
4
- data.tar.gz: 88187f39270abd6e9b3fa911f5e737ee5cc1196e
3
+ metadata.gz: 8642ab0f98128f69e538d45f9a4debeda51dc9b4
4
+ data.tar.gz: 1e574718dcefb63cdd7aa34a5438471f490ec775
5
5
  SHA512:
6
- metadata.gz: 6069343b46957d55dfaf50b7ebddae0ff364c2a994ad9af6e2a54315ad6ca10e333bbe6047fd2669c66e813738fc8eeb9a668c080935f6ac6bc88147591f9f70
7
- data.tar.gz: 88923b01ba585b115ec286b7def5c8c39994765b23bc73745fe770dd2564671507ee95a69a47f61f82a6f87cf730bab67d9daa0fb9ad9b439cb25068dc9db2c2
6
+ metadata.gz: dfdb7b28db625797316faa897cd402067622a9ebac2294a1ea45ceb753e7a2601e50d44ced3036c01bd09a76c581096e67eccc45bbdf966fb526377089fe81d1
7
+ data.tar.gz: 6d22d2cd7f89a0c8a6987d1b8946f2cd43a269c2c76f5b44b16f49a6a5a14092a2779ca344ca510f673a316faa0b5c286c1f4eed4ea9ebef6492fb76640141e6
@@ -5,8 +5,18 @@ require 'active_record'
5
5
 
6
6
  ROOT_DIR ||= ENV['ROOT_DIR']
7
7
 
8
- ActiveEvent::Autoload.app_path = File.join ROOT_DIR, 'app'
9
- ActiveDomain::Autoload.app_path = File.join ROOT_DIR, 'domain'
8
+ ActiveEvent::Autoload.app_path = ROOT_DIR
9
+ ActiveDomain::Autoload.app_path = ROOT_DIR
10
10
 
11
+ watchable_dirs = ActiveEvent::Autoload.watchable_dirs.merge ActiveDomain::Autoload.watchable_dirs
12
+ RELOADER = ActiveSupport::FileUpdateChecker.new([], watchable_dirs) do
13
+ ActiveEvent::Autoload.reload_module :ValidationsRegistry
14
+ ActiveDomain::Autoload.reload_module :ProjectionRegistry
15
+ ActiveEvent::Autoload.reload
16
+ ActiveDomain::Autoload.reload
17
+ ActiveEvent::ValidationsRegistry.build
18
+ end
19
+
20
+ ActiveEvent::ValidationsRegistry.build
11
21
  ActiveDomain::Server.base_path = ROOT_DIR
12
22
  ActiveDomain::Server.run
@@ -7,9 +7,16 @@ ROOT_DIR ||= ENV['ROOT_DIR']
7
7
  WORKER_COUNT = [ENV['WORKER_COUNT'].to_i, 1].max
8
8
  WORKER_NUMBER = ENV['WORKER_NUMBER'].to_i
9
9
 
10
- ActiveEvent::Autoload.app_path = File.join ROOT_DIR, 'app'
11
- ActiveProjection::Autoload.app_path = File.join(ROOT_DIR, 'app')
12
- ActiveProjection::Autoload.worker_config = {path: File.join(ROOT_DIR, 'app', 'projections'), count: WORKER_COUNT, number: WORKER_NUMBER}
10
+ ActiveEvent::Autoload.app_path = ROOT_DIR
11
+ ActiveProjection::Autoload.app_path = ROOT_DIR
12
+ ActiveProjection::Autoload.worker_config = {path: ROOT_DIR, count: WORKER_COUNT, number: WORKER_NUMBER}
13
13
 
14
+ watchable_dirs = ActiveEvent::Autoload.watchable_dirs.merge ActiveProjection::Autoload.watchable_dirs
15
+ RELOADER = ActiveSupport::FileUpdateChecker.new([], watchable_dirs) do
16
+ ActiveEvent::Autoload.reload_module :ValidationsRegistry
17
+ ActiveProjection::Autoload.reload_module :ProjectionTypeRegistry
18
+ ActiveEvent::Autoload.reload
19
+ ActiveProjection::Autoload.reload
20
+ end
14
21
  ActiveProjection::Server.base_path = ROOT_DIR
15
22
  ActiveProjection::Server.run
@@ -16,6 +16,10 @@ module Drails
16
16
  copy_file 'build_validations_registry.rb', File.join('config', 'initializers', 'build_validations_registry.rb')
17
17
  end
18
18
 
19
+ def copy_sse_controller
20
+ copy_file 'event_source_controller.rb', File.join('app', 'controllers', 'event_source_controller.rb')
21
+ end
22
+
19
23
  def add_drails_to_gemfile
20
24
  gem "rails-disco"
21
25
  end
@@ -1,5 +1,18 @@
1
1
  require 'active_event'
2
2
  require 'active_projection'
3
- ActiveEvent::Autoload.app_path = File.expand_path('../../../app', __FILE__)
4
- ActiveProjection::Autoload.app_path = File.expand_path('../../../app', __FILE__)
3
+ ActiveEvent::Autoload.app_path = File.expand_path('../../..', __FILE__)
4
+ ActiveProjection::Autoload.app_path = File.expand_path('../../..', __FILE__)
5
+
6
+ watchable_dirs = ActiveEvent::Autoload.watchable_dirs.merge ActiveProjection::Autoload.watchable_dirs
7
+ RELOADER = ActiveSupport::FileUpdateChecker.new([], watchable_dirs) do
8
+ ActiveEvent::Autoload.reload_module :ValidationsRegistry
9
+ ActiveEvent::Autoload.reload
10
+ ActiveProjection::Autoload.reload
11
+ ActiveEvent::ValidationsRegistry.build
12
+ end
13
+
14
+ ActionDispatch::Reloader.to_prepare do
15
+ RELOADER.execute_if_updated
16
+ end
17
+
5
18
  ActiveEvent::ValidationsRegistry.build
@@ -0,0 +1,16 @@
1
+ class EventSourceController < ApplicationController
2
+ include ActionController::Live
3
+ include ActiveEvent::EventSourceServer
4
+
5
+ def stream
6
+ event_connection.start
7
+ response.headers['Content-Type'] = 'text/event-stream'
8
+ sse = Reloader::SSE.new(response.stream)
9
+ subscribe_to event_queue do |delivery_info, properties, body|
10
+ sse.write({:id => properties.headers['store_id']}, :event => 'refresh')
11
+ end
12
+ rescue IOError
13
+ ensure
14
+ sse.close
15
+ end
16
+ end
@@ -4,10 +4,15 @@ module Drails
4
4
  class ControllerGenerator < Rails::Generators::ScaffoldControllerGenerator
5
5
  source_root File.expand_path('../templates', __FILE__)
6
6
  hide!
7
+ remove_hook_for :test_framework
8
+
9
+ def create_test_files
10
+ template "controller_test.rb", File.join("test/controllers", controller_class_path, "#{controller_file_name}_controller_test.rb")
11
+ end
7
12
 
8
13
  private
9
14
  def params_string
10
- attributes.map{|x| "#{x.name}: params[:#{singular_table_name}][:#{x.name}]" }.join(', ')
15
+ attributes.map { |x| "#{x.name}: params[:#{singular_table_name}][:#{x.name}]" }.join(', ')
11
16
  end
12
17
  end
13
18
  end
@@ -1,6 +1,7 @@
1
1
  <% module_namespacing do -%>
2
2
  class <%= controller_class_name %>Controller < ApplicationController
3
3
  before_action :set_<%= singular_table_name %>, only: [:show, :edit]
4
+ before_action :set_event_id, only: [:index, :show]
4
5
 
5
6
  def index
6
7
  @<%= plural_table_name %> = <%= orm_class.all(class_name) %>
@@ -19,8 +20,9 @@ class <%= controller_class_name %>Controller < ApplicationController
19
20
  def create
20
21
  <%= singular_table_name %> = <%= "#{human_name}"%>CreateCommand.new({<%= params_string %>})
21
22
  valid = <%= singular_table_name %>.valid?
22
- if valid and Domain.run_command <%= singular_table_name %>
23
+ if valid and id = Domain.run_command(<%= singular_table_name %>)
23
24
  flash[:notice] = <%= "'#{human_name} was successfully created.'" %>
25
+ session[:tmp_event_id] = id
24
26
  redirect_to action: :index
25
27
  else
26
28
  flash[:error] = <%= "'#{human_name} couldn\\'t be created.'" %>
@@ -31,8 +33,9 @@ class <%= controller_class_name %>Controller < ApplicationController
31
33
  def update
32
34
  <%= singular_table_name %> = <%= "#{human_name}"%>UpdateCommand.new({id: params[:id]<%=',' unless params_string == ''%> <%= params_string %>})
33
35
  valid = <%= singular_table_name %>.valid?
34
- if valid and Domain.run_command <%= singular_table_name %>
36
+ if valid and id = Domain.run_command(<%= singular_table_name %>)
35
37
  flash[:notice] = <%= "'#{human_name} was successfully updated.'" %>
38
+ session[:tmp_event_id] = id
36
39
  redirect_to action: :show, id: params[:id]
37
40
  else
38
41
  flash[:error] = <%= "'#{human_name} couldn\\'t be updated.'" %>
@@ -42,7 +45,8 @@ class <%= controller_class_name %>Controller < ApplicationController
42
45
 
43
46
  def destroy
44
47
  <%= singular_table_name %> = <%= "#{human_name}"%>DeleteCommand.new({id: params[:id]})
45
- if Domain.run_command <%= singular_table_name %>
48
+ if id = Domain.run_command(<%= singular_table_name %>)
49
+ session[:tmp_event_id] = id
46
50
  flash[:notice] = <%= "'#{human_name} was successfully deleted.'" %>
47
51
  else
48
52
  flash[:error] = <%= "'#{human_name} couldn\\'t be deleted.'" %>
@@ -54,5 +58,10 @@ class <%= controller_class_name %>Controller < ApplicationController
54
58
  def set_<%= singular_table_name %>
55
59
  @<%= singular_table_name %> = <%= orm_class.find(class_name, "params[:id]") %>
56
60
  end
61
+
62
+ def set_event_id
63
+ @event_id = session[:tmp_event_id]
64
+ session[:tmp_event_id] = nil
65
+ end
57
66
  end
58
67
  <% end -%>
@@ -0,0 +1,45 @@
1
+ require 'test_helper'
2
+
3
+ <% module_namespacing do -%>
4
+ class <%= controller_class_name %>ControllerTest < ActionController::TestCase
5
+ setup do
6
+ @<%= singular_table_name %> = <%= table_name %>(:one)
7
+ end
8
+
9
+ test "should get index" do
10
+ get :index
11
+ assert_response :success
12
+ assert_not_nil assigns(:<%= table_name %>)
13
+ end
14
+
15
+ test "should get new" do
16
+ get :new
17
+ assert_response :success
18
+ end
19
+
20
+ #test "should create <%= singular_table_name %>" do
21
+ # #removed for now, because there is no reason to test the post here, cause the projection creates it
22
+ # #maybe we could test something else here instead
23
+ #end
24
+
25
+ test "should show <%= singular_table_name %>" do
26
+ get :show, id: <%= "@#{singular_table_name}" %>
27
+ assert_response :success
28
+ end
29
+
30
+ test "should get edit" do
31
+ get :edit, id: <%= "@#{singular_table_name}" %>
32
+ assert_response :success
33
+ end
34
+
35
+ #test "should update <%= singular_table_name %>" do
36
+ # #removed for now, because there is no reason to test the update here, cause the projection updates it
37
+ # #maybe we could test something else here instead
38
+ #end
39
+
40
+ #test "should destroy <%= singular_table_name %>" do
41
+ # #removed for now, because there is no reason to test the destroy here, cause the projection destroys it
42
+ # #maybe we could test something else here instead
43
+ #end
44
+ end
45
+ <% end -%>
@@ -0,0 +1,15 @@
1
+ Description:
2
+ Generates a Model and a Projection for it.
3
+
4
+ Example:
5
+ rails generate drails:model Thing [use_domain] [attr1:type, attr2:type]
6
+
7
+ This will create if use_domain is false(standard):
8
+ app/projection/thing_projection.rb
9
+ app/models/thing.rb
10
+ db/migrate/create_thing.rb
11
+
12
+ This will create if use_domain is true:
13
+ domain/projection/thing_projection.rb
14
+ domain/models/thing.rb
15
+ db/migrate_domain/create_thing.rb
@@ -0,0 +1,43 @@
1
+ module Drails
2
+ module Generators
3
+ class ModelGenerator < Rails::Generators::NamedBase
4
+ source_root File.expand_path('../templates', __FILE__)
5
+ argument :use_domain, type: :string, default: 'false'
6
+ argument :attributes, type: :array, default: [], banner: "field[:type] field[:type]"
7
+
8
+ def create_projection_file
9
+ if domain?
10
+ generate 'drails:projection', name, 'true'
11
+ else
12
+ generate 'drails:projection', name
13
+ end
14
+ end
15
+
16
+ def create_model_file
17
+ if domain?
18
+ template 'domain_model.rb', File.join('domain', 'models', domain_ns, "#{file_name}.rb")
19
+ else
20
+ template 'model.rb', File.join('app', 'models', class_path, "#{file_name}.rb")
21
+ end
22
+ end
23
+
24
+ def create_migration
25
+ generate 'drails:migration', "create_#{table_name}", use_domain, attributes.map { |x| "#{x.name}:#{x.type}" }.join(' ')
26
+ end
27
+
28
+ private
29
+ def domain?
30
+ @domain ||= !!(/^(true|t|yes|y|1)$/i).match(use_domain)
31
+ end
32
+
33
+ def domain_ns
34
+ namespace_path = Array.new class_path
35
+ if namespace_path.empty?
36
+ namespace_path[0] = 'domain'
37
+ else
38
+ namespace_path[-1] += '_domain'
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
@@ -1,15 +1,11 @@
1
1
  Description:
2
- Generates a Projection and a Model.
2
+ Generates a projection with handlers for the given events.
3
3
 
4
4
  Example:
5
- rails generate drails:projection Thing [use_domain]
5
+ rails generate drails:projection Thing [use_domain] [event1 event2 ...]
6
6
 
7
7
  This will create if use_domain is false(standard):
8
8
  app/projection/thing_projection.rb
9
- app/models/thing.rb
10
- db/migrate/create_thing.rb
11
9
 
12
10
  This will create if use_domain is true:
13
- domain/projection/thing_projection.rb
14
- domain/models/thing.rb
15
- db/migrate_domain/create_thing.rb
11
+ domain/projection/thing_projection.rb
@@ -3,28 +3,24 @@ module Drails
3
3
  class ProjectionGenerator < Rails::Generators::NamedBase
4
4
  source_root File.expand_path('../templates', __FILE__)
5
5
  argument :use_domain, type: :string, default: 'false'
6
- argument :attributes, type: :array, default: [], banner: "field[:type] field[:type]"
6
+ argument :events, type: :array, default: [], banner: "event event"
7
7
 
8
8
  def create_projection_file
9
9
  if domain?
10
- template 'domain_projection.rb', File.join('domain', 'projections', domain_ns, "#{file_name}_projection.rb")
10
+ template 'domain_projection.rb', File.join('domain', 'projections', domain_ns, "#{plural_file_name}_projection.rb")
11
11
  else
12
- template 'projection.rb', File.join('app', 'projections', class_path, "#{file_name}_projection.rb")
12
+ template 'projection.rb', File.join('app', 'projections', class_path, "#{plural_file_name}_projection.rb")
13
13
  end
14
14
  end
15
15
 
16
- def create_model_file
16
+ def create_test_files
17
17
  if domain?
18
- template 'domain_model.rb', File.join('domain', 'models', domain_ns, "#{file_name}.rb")
18
+ template 'domain_projection_test.rb', File.join("test/projections", class_path, "#{plural_file_name}_projection_test.rb")
19
19
  else
20
- template 'model.rb', File.join('app', 'models', class_path, "#{file_name}.rb")
20
+ template 'projection_test.rb', File.join("test/projections", class_path, "#{plural_file_name}_projection_test.rb")
21
21
  end
22
22
  end
23
23
 
24
- def create_migration
25
- generate 'drails:migration', "create_#{table_name}", use_domain, attributes.map { |x| "#{x.name}:#{x.type}" }.join(' ')
26
- end
27
-
28
24
  private
29
25
  def domain?
30
26
  @domain ||= !!(/^(true|t|yes|y|1)$/i).match(use_domain)
@@ -1,5 +1,9 @@
1
1
  module <%=if Rails::Generators.namespace.present? then Rails::Generators.namespace.name end%>Domain
2
- class <%= class_name %>Projection
2
+ class <%= plural_name.camelcase %>Projection
3
3
  include ActiveDomain::Projection
4
+ <% events.each do |event| %>
5
+ def <%=event.underscore%>(event)
6
+ end
7
+ <% end %>
4
8
  end
5
9
  end
@@ -0,0 +1,6 @@
1
+ require 'test_helper'
2
+
3
+ module <%=if Rails::Generators.namespace.present? then Rails::Generators.namespace.name end%>Domain
4
+ class <%= plural_name.camelcase %>ProjectionTest < ActiveSupport::TestCase
5
+ end
6
+ end
@@ -1,5 +1,9 @@
1
1
  <% module_namespacing do -%>
2
- class <%= class_name %>Projection
2
+ class <%= plural_name.camelcase %>Projection
3
3
  include ActiveProjection::ProjectionType
4
+ <% events.each do |event| %>
5
+ def <%=event.underscore%>(event)
6
+ end
7
+ <% end %>
4
8
  end
5
9
  <% end -%>
@@ -0,0 +1,6 @@
1
+ require 'test_helper'
2
+
3
+ <% module_namespacing do -%>
4
+ class <%= plural_name.camelcase %>ProjectionTest < ActiveSupport::TestCase
5
+ end
6
+ <% end -%>
@@ -3,7 +3,7 @@ Description:
3
3
  commands, events and command_processor.
4
4
 
5
5
  Example:
6
- rails generate drails:scaffold Thing
6
+ rails generate drails:scaffold Thing [attr1:type, attr2:type]
7
7
 
8
8
  This will create:
9
9
  app/commands/thing_create_command.rb
@@ -24,6 +24,4 @@ Example:
24
24
  db/migrate/create_thing.rb
25
25
  db/migrate_domain/create_thing.rb
26
26
  domain/command_processors/thing_processor.rb
27
- domain/models/thing.rb
28
- domain/projections/thing_projection.rb
29
27
  a resource route
@@ -4,9 +4,8 @@ module Drails
4
4
  source_root File.expand_path('../templates', __FILE__)
5
5
  argument :attributes, type: :array, default: [], banner: "field[:type] field[:type]"
6
6
 
7
- def create_projections
8
- generate 'drails:projection', name, 'false', attr_string
9
- generate 'drails:projection', name, 'true', attr_string
7
+ def create_models
8
+ generate 'drails:model', name, 'false', attr_string
10
9
  end
11
10
 
12
11
  def create_commands
@@ -18,6 +17,12 @@ module Drails
18
17
  end
19
18
  end
20
19
 
20
+ def add_to_command_processor
21
+ content = "
22
+ command.id = ActiveDomain::UniqueCommandIdRepository.new_for command.class.name"
23
+ inject_into_file File.join('domain', 'command_processors', domain_ns, "#{file_name}_processor.rb"), content, after: /(\s)*process(\s)*(.)*CreateCommand(.)*/
24
+ end
25
+
21
26
  def add_route
22
27
  route "resources :#{plural_name}"
23
28
  end
@@ -26,6 +31,16 @@ module Drails
26
31
  generate 'drails:controller', name, attr_string
27
32
  end
28
33
 
34
+ def copy_event_stream_client
35
+ copy_file '_eventstream.js.erb', File.join('app', 'views', plural_file_name, '_eventstream.js.erb')
36
+ end
37
+
38
+ def add_event_stram_client_to_views
39
+ include_text = '<%= javascript_tag render partial: \'eventstream\', formats: [:js], locals: {event_id: @event_id} %>'
40
+ prepend_to_file File.join('app', 'views', plural_file_name, 'index.html.erb'), include_text
41
+ prepend_to_file File.join('app', 'views', plural_file_name, 'show.html.erb'), include_text
42
+ end
43
+
29
44
  private
30
45
  def attr_string
31
46
  @attr_string ||= attributes.map { |x| "#{x.name}:#{x.type}" }.join(' ')
@@ -34,11 +49,10 @@ module Drails
34
49
  def add_to_projections(action)
35
50
  content = "
36
51
 
37
- def #{name}_#{action}_event(event)
52
+ def #{name.underscore}_#{action}_event(event)
38
53
  #{method_bodies[action]}
39
54
  end"
40
- inject_into_file File.join('app', 'projections', class_path, "#{file_name}_projection.rb"), content, after: /(\s)*include(\s)*ActiveProjection::ProjectionType/
41
- inject_into_file File.join('domain', 'projections', domain_ns, "#{file_name}_projection.rb"), content, after: /(\s)*include(\s)*ActiveDomain::Projection/
55
+ inject_into_file File.join('app', 'projections', class_path, "#{plural_file_name}_projection.rb"), content, after: /(\s)*include(\s)*ActiveProjection::ProjectionType/
42
56
  end
43
57
 
44
58
  def method_bodies
@@ -0,0 +1,16 @@
1
+ <% if event_id.present? %>
2
+ $(document).ready(function () {
3
+ setTimeout(function () {
4
+ var source = new EventSource('/event_stream');
5
+ source.addEventListener('refresh', function (e) {
6
+ var event = JSON.parse(e.data);
7
+ if (<%= event_id %> == event.id){
8
+ window.location.reload();
9
+ }else if (<%= event_id %> < event.id){
10
+ source.removeEventListener('refresh');
11
+ source.close();
12
+ }
13
+ });
14
+ }, 1);
15
+ });
16
+ <% end %>
@@ -1,7 +1,7 @@
1
1
  module RailsDisco
2
2
  module VERSION
3
3
  MAJOR = 0
4
- MINOR = 1
4
+ MINOR = 2
5
5
  TINY = 0
6
6
  PRE = nil
7
7
 
data/lib/tasks/db.rake CHANGED
@@ -86,6 +86,7 @@ namespace :db do
86
86
  task :setup_domain do
87
87
  Rake::Task[:'db:configuration'].invoke('domain')
88
88
  cp_r Gem::Specification.find_by_name('active_event').gem_dir + '/db/migrate/.', 'db/migrate_domain'
89
+ cp_r Gem::Specification.find_by_name('active_domain').gem_dir + '/db/migrate/.', 'db/migrate_domain'
89
90
  Rake::Task[:'db:migrate'].invoke
90
91
  end
91
92
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: drailties
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Kranz
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-09-11 00:00:00.000000000 Z
11
+ date: 2013-10-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: active_event
@@ -16,42 +16,42 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 0.1.0
19
+ version: 0.2.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 0.1.0
26
+ version: 0.2.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: active_domain
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - '='
32
32
  - !ruby/object:Gem::Version
33
- version: 0.1.0
33
+ version: 0.2.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - '='
39
39
  - !ruby/object:Gem::Version
40
- version: 0.1.0
40
+ version: 0.2.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: active_projection
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - '='
46
46
  - !ruby/object:Gem::Version
47
- version: 0.1.0
47
+ version: 0.2.0
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - '='
53
53
  - !ruby/object:Gem::Version
54
- version: 0.1.0
54
+ version: 0.2.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rails
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -86,6 +86,7 @@ files:
86
86
  - lib/generators/drails/app/templates/build_validations_registry.rb
87
87
  - lib/generators/drails/app/templates/create_domain.rb
88
88
  - lib/generators/drails/app/templates/disco.yml
89
+ - lib/generators/drails/app/templates/event_source_controller.rb
89
90
  - lib/generators/drails/app/USAGE
90
91
  - lib/generators/drails/command/command_generator.rb
91
92
  - lib/generators/drails/command/templates/command.rb
@@ -96,17 +97,23 @@ files:
96
97
  - lib/generators/drails/command_processor/USAGE
97
98
  - lib/generators/drails/controller/controller_generator.rb
98
99
  - lib/generators/drails/controller/templates/controller.rb
100
+ - lib/generators/drails/controller/templates/controller_test.rb
99
101
  - lib/generators/drails/controller/USAGE
100
102
  - lib/generators/drails/migration/migration_generator.rb
101
103
  - lib/generators/drails/migration/templates/create_table_migration.rb
102
104
  - lib/generators/drails/migration/USAGE
105
+ - lib/generators/drails/model/model_generator.rb
106
+ - lib/generators/drails/model/templates/domain_model.rb
107
+ - lib/generators/drails/model/templates/model.rb
108
+ - lib/generators/drails/model/USAGE
103
109
  - lib/generators/drails/projection/projection_generator.rb
104
- - lib/generators/drails/projection/templates/domain_model.rb
105
110
  - lib/generators/drails/projection/templates/domain_projection.rb
106
- - lib/generators/drails/projection/templates/model.rb
111
+ - lib/generators/drails/projection/templates/domain_projection_test.rb
107
112
  - lib/generators/drails/projection/templates/projection.rb
113
+ - lib/generators/drails/projection/templates/projection_test.rb
108
114
  - lib/generators/drails/projection/USAGE
109
115
  - lib/generators/drails/scaffold/scaffold_generator.rb
116
+ - lib/generators/drails/scaffold/templates/_eventstream.js.erb
110
117
  - lib/generators/drails/scaffold/USAGE
111
118
  - lib/rails-disco/version.rb
112
119
  - lib/tasks/db.rake