wagn 1.13.0.pre → 1.13.0.pre1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/app/controllers/card_controller.rb +4 -2
- data/db/bootstrap/card_references.yml +443 -408
- data/db/bootstrap/card_revisions.yml +1025 -1116
- data/db/bootstrap/cards.yml +2168 -2151
- data/db/migrate_cards/20140512155840_add_script_cards.rb +1 -0
- data/features/step_definitions/wagn_steps.rb +16 -3
- data/features/watch.feature +1 -1
- data/lib/card/content.rb +1 -1
- data/lib/card/format.rb +6 -4
- data/lib/card/generators/card_migration/USAGE +1 -1
- data/lib/card/mailer.rb +2 -1
- data/lib/card/mailer/confirmation_email.html.erb +6 -2
- data/lib/wagn/all.rb +0 -8
- data/lib/wagn/application.rb +29 -19
- data/lib/wagn/commands.rb +104 -2
- data/{config → lib/wagn/config}/environments/cucumber.rb +0 -0
- data/{config → lib/wagn/config}/environments/development.rb +0 -0
- data/{config → lib/wagn/config}/environments/production.rb +0 -0
- data/{config → lib/wagn/config}/environments/profile.rb +0 -0
- data/{config → lib/wagn/config}/environments/test.rb +0 -0
- data/{config → lib/wagn/config}/initializers/01_init_ruby_extensions.rb +0 -0
- data/{config → lib/wagn/config}/initializers/airbrake.rb +0 -1
- data/{config → lib/wagn/config}/initializers/inflections.rb +0 -0
- data/{config → lib/wagn/config}/initializers/mime_types.rb +0 -0
- data/{config → lib/wagn/config}/initializers/notification.rb +0 -0
- data/{config → lib/wagn/config}/initializers/recaptcha.rb +0 -0
- data/{config → lib/wagn/config}/initializers/secret_token.rb +0 -0
- data/{config → lib/wagn/config}/initializers/session_store.rb +0 -0
- data/{config → lib/wagn/config}/initializers/uuid_state_file.rb +0 -0
- data/lib/wagn/generators/wagn/USAGE +5 -4
- data/lib/wagn/generators/wagn/templates/Gemfile +67 -2
- data/lib/wagn/generators/wagn/templates/config/application.rb +1 -1
- data/lib/wagn/generators/wagn/templates/config/cucumber.yml +1 -0
- data/lib/wagn/generators/wagn/templates/config/databases/frontbase.yml +4 -2
- data/lib/wagn/generators/wagn/templates/config/databases/ibm_db.yml +4 -2
- data/lib/wagn/generators/wagn/templates/config/databases/jdbc.yml +5 -3
- data/lib/wagn/generators/wagn/templates/config/databases/jdbcmysql.yml +4 -2
- data/lib/wagn/generators/wagn/templates/config/databases/jdbcpostgresql.yml +4 -2
- data/lib/wagn/generators/wagn/templates/config/databases/jdbcsqlite3.yml +4 -2
- data/lib/wagn/generators/wagn/templates/config/databases/mysql.yml +5 -10
- data/lib/wagn/generators/wagn/templates/config/databases/oracle.yml +4 -2
- data/lib/wagn/generators/wagn/templates/config/databases/postgresql.yml +4 -15
- data/lib/wagn/generators/wagn/templates/config/databases/sqlite3.yml +4 -6
- data/lib/wagn/generators/wagn/templates/rspec +5 -0
- data/lib/wagn/generators/wagn/wagn_generator.rb +84 -1
- data/lib/wagn/mods_spec_helper.rb +66 -0
- data/lib/wagn/tasks/db.rake +2 -1
- data/lib/wagn/tasks/wagn.rake +5 -1
- data/lib/wagn/wagn_spec_helper.rb +49 -0
- data/mods/core/sets/all/content.rb +3 -3
- data/mods/core/sets/all/phases.rb +1 -2
- data/mods/standard/sets/all/attach.rb +1 -1
- data/mods/standard/sets/all/comment.rb +3 -3
- data/mods/standard/sets/all/rich_html.rb +6 -7
- data/mods/standard/sets/right/account.rb +14 -5
- data/mods/standard/sets/rstar/rules.rb +17 -4
- data/mods/standard/sets/self/signin.rb +2 -2
- data/mods/standard/sets/type/pointer.rb +1 -3
- data/mods/standard/sets/type/scss.rb +1 -1
- data/mods/standard/sets/type/signup.rb +33 -12
- data/mods/standard/sets/type/user.rb +1 -1
- data/spec/javascripts/support/jasmine_runner.rb +1 -1
- data/spec/mods/standard/sets/all/base_spec.rb +4 -0
- data/spec/mods/standard/sets/type/signup_spec.rb +52 -15
- data/spec/spec_helper.rb +12 -53
- data/test/fixtures/card_references.yml +688 -653
- data/test/fixtures/card_revisions.yml +1741 -1832
- data/test/fixtures/cards.yml +3484 -3467
- metadata +20 -21
- data/Gemfile +0 -77
- data/config/application.rb +0 -15
- data/config/boot.rb +0 -8
- data/config/environment.rb +0 -8
- data/lib/wagn/generators/wagn/templates/config/database.yml +0 -35
@@ -0,0 +1 @@
|
|
1
|
+
default: '<%= @features_path %>'
|
@@ -16,14 +16,16 @@ development:
|
|
16
16
|
# Warning: The database defined as "test" will be erased and
|
17
17
|
# re-generated from your development database when you run "rake".
|
18
18
|
# Do not set this db to the same as development or production.
|
19
|
-
test:
|
19
|
+
test: &test
|
20
20
|
adapter: frontbase
|
21
21
|
host: localhost
|
22
22
|
database: <%= app_name %>_test
|
23
23
|
username: <%= app_name %>
|
24
24
|
password: ''
|
25
25
|
|
26
|
-
|
26
|
+
cucumber: *test
|
27
|
+
|
28
|
+
production:
|
27
29
|
adapter: frontbase
|
28
30
|
host: localhost
|
29
31
|
database: <%= app_name %>_production
|
@@ -51,7 +51,7 @@ development:
|
|
51
51
|
#authentication: SERVER
|
52
52
|
#parameterized: false
|
53
53
|
|
54
|
-
test:
|
54
|
+
test: &test
|
55
55
|
adapter: ibm_db
|
56
56
|
username: db2inst1
|
57
57
|
password:
|
@@ -68,7 +68,9 @@ test:
|
|
68
68
|
#authentication: SERVER
|
69
69
|
#parameterized: false
|
70
70
|
|
71
|
-
|
71
|
+
cucumber: *test
|
72
|
+
|
73
|
+
production:
|
72
74
|
adapter: ibm_db
|
73
75
|
username: db2inst1
|
74
76
|
password:
|
@@ -16,7 +16,7 @@
|
|
16
16
|
# re-generated from your development database when you run "rake".
|
17
17
|
# Do not set this db to the same as development or production.
|
18
18
|
#
|
19
|
-
#test:
|
19
|
+
#test: &test
|
20
20
|
# adapter: mssql
|
21
21
|
# username: <%= app_name %>
|
22
22
|
# password:
|
@@ -47,14 +47,16 @@ development:
|
|
47
47
|
# re-generated from your development database when you run "rake".
|
48
48
|
# Do not set this db to the same as development or production.
|
49
49
|
|
50
|
-
test:
|
50
|
+
test: &test
|
51
51
|
adapter: jdbc
|
52
52
|
username: <%= app_name %>
|
53
53
|
password:
|
54
54
|
driver:
|
55
55
|
url: jdbc:db://localhost/<%= app_name %>_test
|
56
56
|
|
57
|
-
|
57
|
+
cucumber: *test
|
58
|
+
|
59
|
+
production:
|
58
60
|
adapter: jdbc
|
59
61
|
username: <%= app_name %>
|
60
62
|
password:
|
@@ -18,14 +18,16 @@ development:
|
|
18
18
|
# Warning: The database defined as "test" will be erased and
|
19
19
|
# re-generated from your development database when you run "rake".
|
20
20
|
# Do not set this db to the same as development or production.
|
21
|
-
test:
|
21
|
+
test: &test
|
22
22
|
adapter: mysql
|
23
23
|
database: <%= app_name %>_test
|
24
24
|
username: root
|
25
25
|
password:
|
26
26
|
host: localhost
|
27
27
|
|
28
|
-
|
28
|
+
cucumber: *test
|
29
|
+
|
30
|
+
production:
|
29
31
|
adapter: mysql
|
30
32
|
database: <%= app_name %>_production
|
31
33
|
username: root
|
@@ -28,14 +28,16 @@ development:
|
|
28
28
|
# Warning: The database defined as "test" will be erased and
|
29
29
|
# re-generated from your development database when you run "rake".
|
30
30
|
# Do not set this db to the same as development or production.
|
31
|
-
test:
|
31
|
+
test: &test
|
32
32
|
adapter: postgresql
|
33
33
|
encoding: unicode
|
34
34
|
database: <%= app_name %>_test
|
35
35
|
username: <%= app_name %>
|
36
36
|
password:
|
37
37
|
|
38
|
-
|
38
|
+
cucumber: *test
|
39
|
+
|
40
|
+
production:
|
39
41
|
adapter: postgresql
|
40
42
|
encoding: unicode
|
41
43
|
database: <%= app_name %>_production
|
@@ -11,10 +11,12 @@ development:
|
|
11
11
|
# Warning: The database defined as "test" will be erased and
|
12
12
|
# re-generated from your development database when you run "rake".
|
13
13
|
# Do not set this db to the same as development or production.
|
14
|
-
test:
|
14
|
+
test: &test
|
15
15
|
adapter: sqlite3
|
16
16
|
database: db/test.sqlite3
|
17
17
|
|
18
|
-
|
18
|
+
cucumber: *test
|
19
|
+
|
20
|
+
production:
|
19
21
|
adapter: sqlite3
|
20
22
|
database: db/production.sqlite3
|
@@ -1,12 +1,5 @@
|
|
1
1
|
# MySQL. Versions 4.1 and 5.0 are recommended.
|
2
|
-
#
|
3
|
-
# Install the MYSQL driver
|
4
|
-
# gem install mysql2
|
5
|
-
#
|
6
|
-
# Ensure the MySQL gem is defined in your Gemfile
|
7
|
-
# gem 'mysql2'
|
8
|
-
#
|
9
|
-
# And be sure to use new-style password hashing:
|
2
|
+
# Be sure to use new-style password hashing:
|
10
3
|
# http://dev.mysql.com/doc/refman/5.0/en/old-client.html
|
11
4
|
development:
|
12
5
|
adapter: mysql2
|
@@ -25,7 +18,7 @@ development:
|
|
25
18
|
# Warning: The database defined as "test" will be erased and
|
26
19
|
# re-generated from your development database when you run "rake".
|
27
20
|
# Do not set this db to the same as development or production.
|
28
|
-
test:
|
21
|
+
test: &test
|
29
22
|
adapter: mysql2
|
30
23
|
encoding: utf8
|
31
24
|
reconnect: false
|
@@ -39,7 +32,9 @@ test:
|
|
39
32
|
host: localhost
|
40
33
|
<% end -%>
|
41
34
|
|
42
|
-
|
35
|
+
cucumber: *test
|
36
|
+
|
37
|
+
production:
|
43
38
|
adapter: mysql2
|
44
39
|
encoding: utf8
|
45
40
|
reconnect: false
|
@@ -26,13 +26,15 @@ development:
|
|
26
26
|
# Warning: The database defined as "test" will be erased and
|
27
27
|
# re-generated from your development database when you run "rake".
|
28
28
|
# Do not set this db to the same as development or production.
|
29
|
-
test:
|
29
|
+
test: &test
|
30
30
|
adapter: oracle
|
31
31
|
database: <%= app_name %>_test
|
32
32
|
username: <%= app_name %>
|
33
33
|
password:
|
34
34
|
|
35
|
-
|
35
|
+
cucumber: *test
|
36
|
+
|
37
|
+
production:
|
36
38
|
adapter: oracle
|
37
39
|
database: <%= app_name %>_production
|
38
40
|
username: <%= app_name %>
|
@@ -1,17 +1,4 @@
|
|
1
1
|
# PostgreSQL. Versions 8.2 and up are supported.
|
2
|
-
#
|
3
|
-
# Install the pg driver:
|
4
|
-
# gem install pg
|
5
|
-
# On Mac OS X with macports:
|
6
|
-
# gem install pg -- --with-pg-config=/opt/local/lib/postgresql84/bin/pg_config
|
7
|
-
# On Windows:
|
8
|
-
# gem install pg
|
9
|
-
# Choose the win32 build.
|
10
|
-
# Install PostgreSQL and put its /bin directory on your path.
|
11
|
-
#
|
12
|
-
# Configure Using Gemfile
|
13
|
-
# gem 'pg'
|
14
|
-
#
|
15
2
|
development:
|
16
3
|
adapter: postgresql
|
17
4
|
encoding: unicode
|
@@ -38,7 +25,7 @@ development:
|
|
38
25
|
# Warning: The database defined as "test" will be erased and
|
39
26
|
# re-generated from your development database when you run "rake".
|
40
27
|
# Do not set this db to the same as development or production.
|
41
|
-
test:
|
28
|
+
test: &test
|
42
29
|
adapter: postgresql
|
43
30
|
encoding: unicode
|
44
31
|
database: <%= app_name %>_test
|
@@ -46,7 +33,9 @@ test:
|
|
46
33
|
username: <%= app_name %>
|
47
34
|
password:
|
48
35
|
|
49
|
-
|
36
|
+
cucumber: *test
|
37
|
+
|
38
|
+
production:
|
50
39
|
adapter: postgresql
|
51
40
|
encoding: unicode
|
52
41
|
database: <%= app_name %>_production
|
@@ -1,8 +1,4 @@
|
|
1
1
|
# SQLite version 3.x
|
2
|
-
# gem install sqlite3
|
3
|
-
#
|
4
|
-
# Ensure the SQLite 3 gem is defined in your Gemfile
|
5
|
-
# gem 'sqlite3'
|
6
2
|
development:
|
7
3
|
adapter: sqlite3
|
8
4
|
database: db/development.sqlite3
|
@@ -12,13 +8,15 @@ development:
|
|
12
8
|
# Warning: The database defined as "test" will be erased and
|
13
9
|
# re-generated from your development database when you run "rake".
|
14
10
|
# Do not set this db to the same as development or production.
|
15
|
-
test:
|
11
|
+
test: &test
|
16
12
|
adapter: sqlite3
|
17
13
|
database: db/test.sqlite3
|
18
14
|
pool: 5
|
19
15
|
timeout: 5000
|
20
16
|
|
21
|
-
|
17
|
+
cucumber: *test
|
18
|
+
|
19
|
+
production:
|
22
20
|
adapter: sqlite3
|
23
21
|
database: db/production.sqlite3
|
24
22
|
pool: 5
|
@@ -1,17 +1,45 @@
|
|
1
1
|
require 'rails/generators/app_base'
|
2
2
|
|
3
|
+
|
3
4
|
class WagnGenerator < Rails::Generators::AppBase
|
4
5
|
|
5
6
|
#class WagnGenerator < Rails::Generators::AppGenerator
|
6
7
|
|
8
|
+
|
9
|
+
|
7
10
|
source_root File.expand_path('../templates', __FILE__)
|
8
11
|
|
9
12
|
class_option :database, :type => :string, :aliases => "-d", :default => "mysql",
|
10
13
|
:desc => "Preconfigure for selected database (options: #{DATABASES.join('/')})"
|
11
|
-
|
14
|
+
|
15
|
+
class_option 'core-dev', :type => :boolean, aliases: '-c', :default => false, :group => :runtime,
|
16
|
+
desc: "Prepare deck for wagn core testing"
|
17
|
+
|
18
|
+
class_option 'mod-dev', :type => :boolean, aliases: '-m', :default => false, :group => :runtime,
|
19
|
+
desc: "Prepare deck for mod testing"
|
20
|
+
|
21
|
+
class_option 'interactive', :type => :boolean, aliases: '-i', :default => false, :group => :runtime,
|
22
|
+
desc: "Prompt with dynamic installation options"
|
23
|
+
|
12
24
|
public_task :create_root
|
13
25
|
|
14
26
|
## should probably eventually use rails-like AppBuilder approach, but this is a first step.
|
27
|
+
def core_dev_setup
|
28
|
+
if options['core-dev']
|
29
|
+
@wagn_path = ask "Enter the path to your local wagn installation: "
|
30
|
+
#@wagndev_path = ask "Please enter the path to your local wagn-dev installation (leave empty to use the wagn-dev gem): "
|
31
|
+
@spec_path = File.join @wagn_path, 'spec'
|
32
|
+
@spec_helper_path = File.join @spec_path, 'spec_helper'
|
33
|
+
@features_path = File.join @wagn_path, 'features/' # ending slash is important in order to load support and step folders
|
34
|
+
|
35
|
+
template "rspec", ".rspec"
|
36
|
+
elsif options['mod-dev']
|
37
|
+
@spec_path = 'mods/'
|
38
|
+
@spec_helper_path = 'wagn/mods_spec_helper'
|
39
|
+
template "rspec", ".rspec"
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
15
43
|
|
16
44
|
def rakefile
|
17
45
|
template "Rakefile"
|
@@ -57,6 +85,9 @@ class WagnGenerator < Rails::Generators::AppBase
|
|
57
85
|
template "environment.rb"
|
58
86
|
template "boot.rb"
|
59
87
|
template "databases/#{options[:database]}.yml", "database.yml"
|
88
|
+
if options['core-dev']
|
89
|
+
template "cucumber.yml"
|
90
|
+
end
|
60
91
|
end
|
61
92
|
end
|
62
93
|
|
@@ -82,7 +113,56 @@ class WagnGenerator < Rails::Generators::AppBase
|
|
82
113
|
|
83
114
|
public_task :run_bundle
|
84
115
|
|
116
|
+
def seed_data
|
117
|
+
if options['interactive']
|
118
|
+
seeded = false
|
119
|
+
require File.join destination_root, 'config', 'application' # need this for Rails.env
|
120
|
+
while (answer = ask( <<-TEXT
|
121
|
+
|
122
|
+
What would you like to do next?
|
123
|
+
e - edit database configuration file (config/database.yml)
|
124
|
+
s - seed #{Rails.env}#{ " and test" if options['core-dev'] or options['mod-dev']} database
|
125
|
+
a - seed all databases (production, development, and test)
|
126
|
+
x - exit #{ seeded ? "\n r - run wagn server" : "(run 'wagn seed' to complete the installation later)"}
|
127
|
+
[esax#{'r' if seeded}]
|
128
|
+
TEXT
|
129
|
+
)) != 'x'
|
130
|
+
case answer
|
131
|
+
when 'e'
|
132
|
+
system "nano #{File.join destination_root, 'config', 'database.yml'}"
|
133
|
+
when 's'
|
134
|
+
require 'wagn/migration_helper'
|
135
|
+
require 'rake'
|
136
|
+
Wagn::Application.load_tasks
|
137
|
+
Rake::Task['wagn:create'].invoke
|
138
|
+
if options['core-dev'] or options['mod-dev']
|
139
|
+
ENV['RELOAD_TEST_DATA'] = 'true'
|
140
|
+
Rake::Task['db:test:prepare'].invoke
|
141
|
+
end
|
142
|
+
seeded = true
|
143
|
+
when 'a'
|
144
|
+
%w( production development test ).each do |env|
|
145
|
+
system("cd #{destination_root} && RAILS_ENV=#{env} rake wagn:create")
|
146
|
+
# tried to set rails environment and invoke the task three times but it was only execute once, so I'm using 'system'
|
147
|
+
end
|
148
|
+
seeded = true
|
149
|
+
when 'r'
|
150
|
+
if seeded
|
151
|
+
system "cd #{destination_root} && wagn server"
|
152
|
+
else
|
153
|
+
puts "You have to seed the database first before you can start the server."
|
154
|
+
end
|
155
|
+
end
|
156
|
+
end
|
157
|
+
else
|
158
|
+
puts "Review the database configuration in config/database.yml and run 'wagn seed' to complete the installation.\nStart the server with 'wagn s'."
|
159
|
+
end
|
160
|
+
end
|
161
|
+
|
85
162
|
protected
|
163
|
+
def self.banner
|
164
|
+
"wagn new #{self.arguments.map(&:usage).join(' ')} [options]"
|
165
|
+
end
|
86
166
|
|
87
167
|
def mysql_socket
|
88
168
|
@mysql_socket ||= [
|
@@ -136,4 +216,7 @@ class WagnGenerator < Rails::Generators::AppBase
|
|
136
216
|
end
|
137
217
|
end
|
138
218
|
|
219
|
+
|
220
|
+
|
221
|
+
|
139
222
|
end
|
@@ -0,0 +1,66 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
require 'spork'
|
3
|
+
|
4
|
+
ENV["RAILS_ENV"] = 'test'
|
5
|
+
|
6
|
+
#require File.expand_path( '../../../spec/mods/standard/lib/machine_spec.rb', __FILE__ )
|
7
|
+
#require File.expand_path( '../../../spec/mods/standard/lib/machine_input_spec.rb', __FILE__ )
|
8
|
+
|
9
|
+
Spork.prefork do
|
10
|
+
if ENV["RAILS_ROOT"]
|
11
|
+
require File.join( ENV["RAILS_ROOT"], '/config/environment')
|
12
|
+
else
|
13
|
+
require File.expand_path( '../../config/environment', __FILE__ )
|
14
|
+
end
|
15
|
+
|
16
|
+
require 'rspec/rails'
|
17
|
+
|
18
|
+
# Requires supporting ruby files with custom matchers and macros, etc,
|
19
|
+
# in spec/support/ and its subdirectories.
|
20
|
+
# Dir[ File.join(Wagn.gem_root, "spec/support/**/*.rb") ].each { |f| require f }
|
21
|
+
|
22
|
+
# FIXTURES_PATH = File.dirname(__FILE__) + '/../fixtures'
|
23
|
+
JOE_USER_ID = Card['joe_user'].id
|
24
|
+
|
25
|
+
RSpec.configure do |config|
|
26
|
+
|
27
|
+
config.include RSpec::Rails::Matchers::RoutingMatchers, :example_group => {
|
28
|
+
:file_path => /\bspec\/controllers\//
|
29
|
+
}
|
30
|
+
|
31
|
+
format_index = ARGV.find_index {|arg| arg =~ /--format/ }
|
32
|
+
formatter = format_index ? ARGV[ format_index + 1 ] : 'documentation'
|
33
|
+
config.add_formatter formatter
|
34
|
+
|
35
|
+
#config.include CustomMatchers
|
36
|
+
#config.include ControllerMacros, :type=>:controllers
|
37
|
+
|
38
|
+
# == Mock Framework
|
39
|
+
# If you prefer to mock with mocha, flexmock or RR, uncomment the appropriate symbol:
|
40
|
+
# :mocha, :flexmock, :rr
|
41
|
+
|
42
|
+
# config.mock_with :rr
|
43
|
+
|
44
|
+
config.use_transactional_fixtures = true
|
45
|
+
config.use_instantiated_fixtures = false
|
46
|
+
|
47
|
+
|
48
|
+
config.before(:each) do
|
49
|
+
Card::Auth.current_id = JOE_USER_ID
|
50
|
+
Wagn::Cache.restore
|
51
|
+
Card::Env.reset
|
52
|
+
end
|
53
|
+
config.after(:each) do
|
54
|
+
Timecop.return
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
|
60
|
+
Spork.each_run do
|
61
|
+
# This code will be run each time you run your specs.
|
62
|
+
end
|
63
|
+
|
64
|
+
require 'wagn/wagn_spec_helper'
|
65
|
+
RSpec::Core::ExampleGroup.send :include, Wagn::WagnSpecHelper
|
66
|
+
|