cadenero 0.0.1 → 0.0.2.a
Sign up to get free protection for your applications and to get access to all the features.
- data/MIT-LICENSE +2 -2
- data/README.md +3 -0
- data/app/models/cadenero/v1/account.rb +1 -1
- data/db/migrate/20130612061604_create_cadenero_v1_accounts.rb +2 -0
- data/db/seeds.rb +2 -0
- data/lib/cadenero/version.rb +2 -2
- data/lib/generators/cadenero/install/templates/initializer.rb +16 -0
- data/lib/generators/cadenero/install_generator.rb +143 -0
- data/spec/controllers/cadenero/v1/accounts_controller_spec.rb +25 -0
- data/spec/dummy/README.rdoc +261 -0
- data/spec/dummy/Rakefile +7 -0
- data/spec/dummy/app/controllers/application_controller.rb +2 -0
- data/spec/dummy/config/application.rb +63 -0
- data/spec/dummy/config/boot.rb +10 -0
- data/spec/dummy/config/database.yml +14 -0
- data/spec/dummy/config/environment.rb +5 -0
- data/spec/dummy/config/environments/development.rb +39 -0
- data/spec/dummy/config/environments/production.rb +69 -0
- data/spec/dummy/config/environments/test.rb +39 -0
- data/spec/dummy/config/initializers/cadenero.rb +0 -0
- data/spec/dummy/config/initializers/secret_token.rb +19 -0
- data/spec/dummy/config/initializers/wrap_parameters.rb +13 -0
- data/spec/dummy/config/locales/en.yml +5 -0
- data/spec/dummy/config/routes.rb +3 -0
- data/spec/dummy/config.ru +4 -0
- data/spec/dummy/db/schema.rb +45 -0
- data/spec/dummy/log/development.log +94 -0
- data/spec/dummy/log/test.log +8934 -0
- data/spec/dummy/public/404.html +26 -0
- data/spec/dummy/public/422.html +26 -0
- data/spec/dummy/public/500.html +25 -0
- data/spec/dummy/public/favicon.ico +0 -0
- data/spec/dummy/script/rails +6 -0
- data/spec/dummy/spec/spec_helper.rb +38 -0
- data/spec/dummy/tmp/ember-rails/ember-data.js +8886 -0
- data/spec/dummy/tmp/ember-rails/ember.js +29953 -0
- data/spec/features/accounts/sign_up_spec.rb +32 -0
- data/spec/features/cadenero/account_spec.rb +24 -0
- data/spec/features/users/sign_in_spec.rb +63 -0
- data/spec/features/users/sign_up_spec.rb +26 -0
- data/spec/generators/install_generator_spec.rb +56 -0
- data/spec/models/cadenero/account_spec.rb +7 -0
- data/spec/models/cadenero/member_spec.rb +7 -0
- data/spec/models/cadenero/user_spec.rb +7 -0
- data/spec/spec_helper.rb +77 -0
- data/spec/support/factories/account_factory.rb +15 -0
- data/spec/support/factories/user_factory.rb +6 -0
- data/spec/support/generator_macros.rb +29 -0
- data/spec/support/subdomain_helpers.rb +8 -0
- metadata +93 -9
- data/db/migrate/20130612093908_add_authentication_token_to_accounts.rb +0 -6
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
def create_account
|
4
|
+
@visitor ||= { name: "Testy", subdomain: "test", owner_attributes:
|
5
|
+
{email: "testy@example.com", password: "changeme", password_confirmation: "changeme"} }
|
6
|
+
end
|
7
|
+
|
8
|
+
def find_account_by_name
|
9
|
+
@account = Cadenero::V1::Account.where(name: @visitor[:name]).first
|
10
|
+
end
|
11
|
+
|
12
|
+
def sign_up
|
13
|
+
create_account
|
14
|
+
post "/v1/accounts", account: @visitor
|
15
|
+
find_account_by_name
|
16
|
+
end
|
17
|
+
|
18
|
+
feature 'Accounts' do
|
19
|
+
scenario "creating an account" do
|
20
|
+
sign_up
|
21
|
+
expect(last_response.status).to eq 201
|
22
|
+
expect(JSON.parse(last_response.body)).to have_content "auth_token"
|
23
|
+
end
|
24
|
+
|
25
|
+
scenario "cannot create an account with an already used subdomain" do
|
26
|
+
Cadenero::V1::Account.create!(:subdomain => "test", :name => "Testy")
|
27
|
+
sign_up
|
28
|
+
expect(last_response.status).to eq 422
|
29
|
+
errors = { errors: {subdomain:["has already been taken"]} }
|
30
|
+
expect(last_response.body).to eql(errors.to_json)
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
feature Cadenero::V1::Account do
|
4
|
+
scenario "can be created with an owner" do
|
5
|
+
params = {
|
6
|
+
:name => "Test Account",
|
7
|
+
:subdomain => "test",
|
8
|
+
:owner_attributes => {
|
9
|
+
:email => "user@example.com",
|
10
|
+
:password => "password",
|
11
|
+
:password_confirmation => "password"
|
12
|
+
}
|
13
|
+
}
|
14
|
+
account = Cadenero::V1::Account.create_with_owner(params)
|
15
|
+
account.should be_persisted
|
16
|
+
account.users.first.should == account.owner
|
17
|
+
end
|
18
|
+
|
19
|
+
it "cannot create an account without a subdomain" do
|
20
|
+
account = Cadenero::V1::Account.create_with_owner
|
21
|
+
account.should_not be_valid
|
22
|
+
account.users.should be_empty
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,63 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
feature 'User sign in' do
|
3
|
+
extend SubdomainHelpers
|
4
|
+
|
5
|
+
def create_account_user
|
6
|
+
@user ||= { email: "user@example.com", password: "password", password_confirmation: "password" }
|
7
|
+
end
|
8
|
+
|
9
|
+
def sign_in_account_user(user)
|
10
|
+
@user = { email: user.email, password: "password", password_confirmation: "password" }
|
11
|
+
end
|
12
|
+
|
13
|
+
def find_account_by_email
|
14
|
+
create_account_user
|
15
|
+
@account = Cadenero::V1::Account.where(name: @user[:email]).first
|
16
|
+
end
|
17
|
+
|
18
|
+
def sign_in_user(url, user)
|
19
|
+
post "#{url}", user: user
|
20
|
+
find_account_by_email
|
21
|
+
end
|
22
|
+
|
23
|
+
let(:account) { FactoryGirl.create(:account_with_schema) }
|
24
|
+
let(:errors_redirect_ro_sign_in) {{errors: "Please sign in. posting the user json credentials to /v1/sign_in", links: "/v1/sign_in"}.to_json}
|
25
|
+
let(:errors_invalid_email_or_password) {{ errors: {user:["Invalid email or password"]} }.to_json}
|
26
|
+
let(:sign_in_url) { "http://#{account.subdomain}.example.com/v1/sign_in" }
|
27
|
+
let(:root_url) { "http://#{account.subdomain}.example.com/v1" }
|
28
|
+
|
29
|
+
within_account_subdomain do
|
30
|
+
scenario "signs in as an account owner successfully" do
|
31
|
+
get root_url
|
32
|
+
expect(last_response.body).to eql(errors_redirect_ro_sign_in)
|
33
|
+
sign_in_user sign_in_url, sign_in_account_user(account.owner)
|
34
|
+
expect(last_response.status).to eq 201
|
35
|
+
expect(JSON.parse(last_response.body)["user"]["account_ids"]).to eq [account.id]
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
it "attempts sign in with an invalid password and fails" do
|
40
|
+
get cadenero.v1_root_url(:subdomain => account.subdomain)
|
41
|
+
expect(last_response.body).to eql(errors_redirect_ro_sign_in)
|
42
|
+
sign_in_user sign_in_url, { email: "user@example.com", password: "", password_confirmation: "" }
|
43
|
+
expect(last_response.status).to eq 422
|
44
|
+
expect(last_response.body).to eql(errors_invalid_email_or_password)
|
45
|
+
end
|
46
|
+
|
47
|
+
it "attempts sign in with an invalid email address and fails" do
|
48
|
+
get cadenero.v1_root_url(:subdomain => account.subdomain)
|
49
|
+
expect(last_response.body).to eql(errors_redirect_ro_sign_in)
|
50
|
+
sign_in_user sign_in_url, { email: "foo@example.com", password: "password", password_confirmation: "password" }
|
51
|
+
expect(last_response.status).to eq 422
|
52
|
+
expect(last_response.body).to eql(errors_invalid_email_or_password)
|
53
|
+
end
|
54
|
+
|
55
|
+
it "cannot sign in if not a part of this subdomain" do
|
56
|
+
other_account = FactoryGirl.create(:account)
|
57
|
+
get cadenero.v1_root_url(:subdomain => account.subdomain)
|
58
|
+
expect(last_response.body).to eql(errors_redirect_ro_sign_in)
|
59
|
+
sign_in_user sign_in_url, { email: other_account.owner.email, password: "", password_confirmation: "" }
|
60
|
+
expect(last_response.status).to eq 422
|
61
|
+
expect(last_response.body).to eql(errors_invalid_email_or_password)
|
62
|
+
end
|
63
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
def create_account_user
|
4
|
+
@user ||= { email: "user@example.com", password: "password", password_confirmation: "password" }
|
5
|
+
end
|
6
|
+
|
7
|
+
def find_account_by_email
|
8
|
+
@account = Cadenero::V1::Account.where(name: @user[:email]).first
|
9
|
+
end
|
10
|
+
|
11
|
+
def sign_up_user(url)
|
12
|
+
create_account_user
|
13
|
+
post "#{url}/v1/sign_up", user: @user
|
14
|
+
find_account_by_email
|
15
|
+
end
|
16
|
+
|
17
|
+
feature "User signup" do
|
18
|
+
let!(:account) { FactoryGirl.create(:account_with_schema) }
|
19
|
+
let(:root_url) { "http://#{account.subdomain}.example.com/" }
|
20
|
+
scenario "under an account" do
|
21
|
+
sign_up_user root_url
|
22
|
+
expect(last_response.status).to eq 201
|
23
|
+
expect(JSON.parse(last_response.body)["user"]["account_ids"]).to eq [account.id]
|
24
|
+
expect(last_request.url).to eq "#{root_url}v1/sign_up"
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'generators/cadenero/install_generator'
|
3
|
+
|
4
|
+
describe Cadenero::Generators::InstallGenerator do
|
5
|
+
before { cleanup! }
|
6
|
+
after { cleanup! }
|
7
|
+
|
8
|
+
# So we can know whether to backup or restore in cleanup!
|
9
|
+
# Wish RSpec had a setting for this already
|
10
|
+
before { flag_example! }
|
11
|
+
def flag_example!
|
12
|
+
example.metadata[:run] = true
|
13
|
+
end
|
14
|
+
|
15
|
+
def migrations
|
16
|
+
Dir["#{Rails.root}/db/migrate/*.rb"].sort
|
17
|
+
end
|
18
|
+
|
19
|
+
it "copies over the migrations" do
|
20
|
+
migrations.should be_empty
|
21
|
+
capture(:stdout) do
|
22
|
+
described_class.start(["--user-class=User", "--no-migrate", "--current-user-helper=current_user"], :destination => Rails.root)
|
23
|
+
end
|
24
|
+
|
25
|
+
# Ensure cadenero migrations have been copied over
|
26
|
+
migrations.should_not be_empty
|
27
|
+
|
28
|
+
# Ensure initializer has been created
|
29
|
+
#cadenero_initializer = File.readlines("#{Rails.root}/config/initializers/cadenero.rb")
|
30
|
+
#cadenero_initializer[0].strip.should == %q{Cadenero.user_class = "User"}
|
31
|
+
|
32
|
+
# Ensure cadenero_user is added to ApplicationController
|
33
|
+
application_controller = File.read("#{Rails.root}/app/controllers/application_controller.rb")
|
34
|
+
expected_cadenero_user_method = %Q{
|
35
|
+
def cadenero_user
|
36
|
+
current_user
|
37
|
+
end
|
38
|
+
helper_method :cadenero_user
|
39
|
+
|
40
|
+
}
|
41
|
+
application_controller.should include(expected_cadenero_user_method)
|
42
|
+
end
|
43
|
+
|
44
|
+
it "seeds the database" do
|
45
|
+
Cadenero::V1::Account.count.should == 0
|
46
|
+
Cadenero::User.count.should == 0
|
47
|
+
|
48
|
+
FactoryGirl.create(:account)
|
49
|
+
FactoryGirl.create(:user)
|
50
|
+
Cadenero::Engine.load_seed
|
51
|
+
|
52
|
+
Cadenero::V1::Account.count.should == 2
|
53
|
+
Cadenero::User.count.should == 3
|
54
|
+
end
|
55
|
+
|
56
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,77 @@
|
|
1
|
+
# This file is copied to spec/ when you run 'rails generate rspec:install'
|
2
|
+
ENV["RAILS_ENV"] ||= 'test'
|
3
|
+
require File.expand_path("../dummy/config/environment.rb", __FILE__)
|
4
|
+
require 'rspec/rails'
|
5
|
+
require 'rspec/autorun'
|
6
|
+
require 'capybara/rspec'
|
7
|
+
require 'factory_girl'
|
8
|
+
require 'database_cleaner'
|
9
|
+
require 'coveralls'
|
10
|
+
|
11
|
+
Coveralls.wear!
|
12
|
+
|
13
|
+
module ApiHelper
|
14
|
+
require 'rack/test'
|
15
|
+
include Rack::Test::Methods
|
16
|
+
|
17
|
+
def app
|
18
|
+
Rails.application
|
19
|
+
end
|
20
|
+
end
|
21
|
+
# Requires supporting ruby files with custom matchers and macros, etc,
|
22
|
+
# in spec/support/ and its subdirectories.
|
23
|
+
Dir[File.dirname(__FILE__) + "/support/**/*.rb"].each {|f| require f}
|
24
|
+
|
25
|
+
RSpec.configure do |config|
|
26
|
+
include ApiHelper
|
27
|
+
# ## Mock Framework
|
28
|
+
#
|
29
|
+
# If you prefer to use mocha, flexmock or RR, uncomment the appropriate line:
|
30
|
+
#
|
31
|
+
# config.mock_with :mocha
|
32
|
+
# config.mock_with :flexmock
|
33
|
+
# config.mock_with :rr
|
34
|
+
|
35
|
+
# Remove this line if you're not using ActiveRecord or ActiveRecord fixtures
|
36
|
+
config.fixture_path = "#{::Rails.root}/spec/fixtures"
|
37
|
+
|
38
|
+
# If you're not using ActiveRecord, or you'd prefer not to run each of your
|
39
|
+
# examples within a transaction, remove the following line or assign false
|
40
|
+
# instead of true.
|
41
|
+
config.use_transactional_fixtures = true
|
42
|
+
|
43
|
+
# If true, the base class of anonymous controllers will be inferred
|
44
|
+
# automatically. This will be the default behavior in future versions of
|
45
|
+
# rspec-rails.
|
46
|
+
config.infer_base_class_for_anonymous_controllers = false
|
47
|
+
|
48
|
+
# Run specs in random order to surface order dependencies. If you find an
|
49
|
+
# order dependency and want to debug it, you can fix the order by providing
|
50
|
+
# the seed, which is printed after each run.
|
51
|
+
# --seed 1234
|
52
|
+
config.order = "random"
|
53
|
+
|
54
|
+
config.before(:suite) do
|
55
|
+
DatabaseCleaner.strategy = :truncation
|
56
|
+
DatabaseCleaner.clean_with(:truncation)
|
57
|
+
end
|
58
|
+
config.before(:each) do
|
59
|
+
DatabaseCleaner.start
|
60
|
+
end
|
61
|
+
config.after(:each) do
|
62
|
+
Apartment::Database.reset
|
63
|
+
DatabaseCleaner.clean
|
64
|
+
connection = ActiveRecord::Base.connection.raw_connection
|
65
|
+
schemas = connection.query(%Q{
|
66
|
+
SELECT 'drop schema ' || nspname || ' cascade;'
|
67
|
+
from pg_namespace
|
68
|
+
where nspname != 'public'
|
69
|
+
AND nspname != 'pg_toast'
|
70
|
+
AND nspname != 'pg_catalog'
|
71
|
+
AND nspname != 'information_schema';
|
72
|
+
})
|
73
|
+
schemas.each do |query|
|
74
|
+
connection.query(query.values.first)
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
FactoryGirl.define do
|
2
|
+
factory :account, :class => Cadenero::V1::Account do
|
3
|
+
sequence(:name) { |n| "Test Account ##{n}" }
|
4
|
+
sequence(:subdomain) { |n| "test#{n}" }
|
5
|
+
association :owner, :factory => :user
|
6
|
+
after(:create) do |account|
|
7
|
+
account.users << account.owner
|
8
|
+
end
|
9
|
+
factory :account_with_schema do
|
10
|
+
after(:create) do |account|
|
11
|
+
account.create_schema
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module Cadenero
|
2
|
+
module GeneratorMacros
|
3
|
+
def cleanup!
|
4
|
+
Dir.chdir(Rails.root) do
|
5
|
+
FileUtils.rm_rf("db/migrate")
|
6
|
+
end
|
7
|
+
|
8
|
+
backup_or_restore = "#{example.metadata[:run] ? "restore" : "backup"}_file"
|
9
|
+
["#{Rails.root}/app/controllers/application_controller.rb",
|
10
|
+
"#{Rails.root}/config/routes.rb"].each do |file|
|
11
|
+
send(backup_or_restore, file)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
def backup_file(file)
|
16
|
+
FileUtils.cp(file, file + ".bak")
|
17
|
+
end
|
18
|
+
|
19
|
+
def restore_file(file)
|
20
|
+
FileUtils.mv(file + ".bak", file)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
RSpec.configure do |c|
|
26
|
+
c.include Cadenero::GeneratorMacros, :example_group => {
|
27
|
+
:file_path => c.escaped_path(%w[spec (generators)])
|
28
|
+
}
|
29
|
+
end
|
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cadenero
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.0.2.a
|
5
|
+
prerelease: 6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Manuel Vidaurre
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-06-
|
12
|
+
date: 2013-06-26 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails-api
|
@@ -219,8 +219,8 @@ dependencies:
|
|
219
219
|
- - ~>
|
220
220
|
- !ruby/object:Gem::Version
|
221
221
|
version: 1.0.1
|
222
|
-
description:
|
223
|
-
API
|
222
|
+
description: A Rails.API Engine that use Warden for authenticate users using a RESTful
|
223
|
+
API in a multitenant way
|
224
224
|
email:
|
225
225
|
- manuel.vidaurre@agiltec.com.mx
|
226
226
|
executables: []
|
@@ -254,16 +254,59 @@ files:
|
|
254
254
|
- db/migrate/20130612061604_create_cadenero_v1_accounts.rb
|
255
255
|
- db/migrate/20130612064652_create_cadenero_v1_users.rb
|
256
256
|
- db/migrate/20130612073709_create_cadenero_v1_members.rb
|
257
|
-
- db/
|
257
|
+
- db/seeds.rb
|
258
258
|
- lib/cadenero/active_record_extensions.rb
|
259
259
|
- lib/cadenero/constraints/subdomain_required.rb
|
260
260
|
- lib/cadenero/engine.rb
|
261
261
|
- lib/cadenero/version.rb
|
262
262
|
- lib/cadenero.rb
|
263
|
+
- lib/generators/cadenero/install/templates/initializer.rb
|
264
|
+
- lib/generators/cadenero/install_generator.rb
|
263
265
|
- lib/tasks/cadenero_tasks.rake
|
264
266
|
- MIT-LICENSE
|
265
267
|
- Rakefile
|
266
268
|
- README.md
|
269
|
+
- spec/controllers/cadenero/v1/accounts_controller_spec.rb
|
270
|
+
- spec/dummy/app/controllers/application_controller.rb
|
271
|
+
- spec/dummy/config/application.rb
|
272
|
+
- spec/dummy/config/boot.rb
|
273
|
+
- spec/dummy/config/database.yml
|
274
|
+
- spec/dummy/config/environment.rb
|
275
|
+
- spec/dummy/config/environments/development.rb
|
276
|
+
- spec/dummy/config/environments/production.rb
|
277
|
+
- spec/dummy/config/environments/test.rb
|
278
|
+
- spec/dummy/config/initializers/cadenero.rb
|
279
|
+
- spec/dummy/config/initializers/secret_token.rb
|
280
|
+
- spec/dummy/config/initializers/wrap_parameters.rb
|
281
|
+
- spec/dummy/config/locales/en.yml
|
282
|
+
- spec/dummy/config/routes.rb
|
283
|
+
- spec/dummy/config.ru
|
284
|
+
- spec/dummy/db/schema.rb
|
285
|
+
- spec/dummy/log/development.log
|
286
|
+
- spec/dummy/log/test.log
|
287
|
+
- spec/dummy/public/404.html
|
288
|
+
- spec/dummy/public/422.html
|
289
|
+
- spec/dummy/public/500.html
|
290
|
+
- spec/dummy/public/favicon.ico
|
291
|
+
- spec/dummy/Rakefile
|
292
|
+
- spec/dummy/README.rdoc
|
293
|
+
- spec/dummy/script/rails
|
294
|
+
- spec/dummy/spec/spec_helper.rb
|
295
|
+
- spec/dummy/tmp/ember-rails/ember-data.js
|
296
|
+
- spec/dummy/tmp/ember-rails/ember.js
|
297
|
+
- spec/features/accounts/sign_up_spec.rb
|
298
|
+
- spec/features/cadenero/account_spec.rb
|
299
|
+
- spec/features/users/sign_in_spec.rb
|
300
|
+
- spec/features/users/sign_up_spec.rb
|
301
|
+
- spec/generators/install_generator_spec.rb
|
302
|
+
- spec/models/cadenero/account_spec.rb
|
303
|
+
- spec/models/cadenero/member_spec.rb
|
304
|
+
- spec/models/cadenero/user_spec.rb
|
305
|
+
- spec/spec_helper.rb
|
306
|
+
- spec/support/factories/account_factory.rb
|
307
|
+
- spec/support/factories/user_factory.rb
|
308
|
+
- spec/support/generator_macros.rb
|
309
|
+
- spec/support/subdomain_helpers.rb
|
267
310
|
homepage: http://www.agiltec.com.mx/ruby/gems/cadenero
|
268
311
|
licenses: []
|
269
312
|
post_install_message:
|
@@ -279,14 +322,55 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
279
322
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
280
323
|
none: false
|
281
324
|
requirements:
|
282
|
-
- - ! '
|
325
|
+
- - ! '>'
|
283
326
|
- !ruby/object:Gem::Version
|
284
|
-
version:
|
327
|
+
version: 1.3.1
|
285
328
|
requirements: []
|
286
329
|
rubyforge_project:
|
287
330
|
rubygems_version: 1.8.23
|
288
331
|
signing_key:
|
289
332
|
specification_version: 3
|
290
333
|
summary: Rails.API Engine for manage multitenant authentication
|
291
|
-
test_files:
|
334
|
+
test_files:
|
335
|
+
- spec/controllers/cadenero/v1/accounts_controller_spec.rb
|
336
|
+
- spec/dummy/app/controllers/application_controller.rb
|
337
|
+
- spec/dummy/config/application.rb
|
338
|
+
- spec/dummy/config/boot.rb
|
339
|
+
- spec/dummy/config/database.yml
|
340
|
+
- spec/dummy/config/environment.rb
|
341
|
+
- spec/dummy/config/environments/development.rb
|
342
|
+
- spec/dummy/config/environments/production.rb
|
343
|
+
- spec/dummy/config/environments/test.rb
|
344
|
+
- spec/dummy/config/initializers/cadenero.rb
|
345
|
+
- spec/dummy/config/initializers/secret_token.rb
|
346
|
+
- spec/dummy/config/initializers/wrap_parameters.rb
|
347
|
+
- spec/dummy/config/locales/en.yml
|
348
|
+
- spec/dummy/config/routes.rb
|
349
|
+
- spec/dummy/config.ru
|
350
|
+
- spec/dummy/db/schema.rb
|
351
|
+
- spec/dummy/log/development.log
|
352
|
+
- spec/dummy/log/test.log
|
353
|
+
- spec/dummy/public/404.html
|
354
|
+
- spec/dummy/public/422.html
|
355
|
+
- spec/dummy/public/500.html
|
356
|
+
- spec/dummy/public/favicon.ico
|
357
|
+
- spec/dummy/Rakefile
|
358
|
+
- spec/dummy/README.rdoc
|
359
|
+
- spec/dummy/script/rails
|
360
|
+
- spec/dummy/spec/spec_helper.rb
|
361
|
+
- spec/dummy/tmp/ember-rails/ember-data.js
|
362
|
+
- spec/dummy/tmp/ember-rails/ember.js
|
363
|
+
- spec/features/accounts/sign_up_spec.rb
|
364
|
+
- spec/features/cadenero/account_spec.rb
|
365
|
+
- spec/features/users/sign_in_spec.rb
|
366
|
+
- spec/features/users/sign_up_spec.rb
|
367
|
+
- spec/generators/install_generator_spec.rb
|
368
|
+
- spec/models/cadenero/account_spec.rb
|
369
|
+
- spec/models/cadenero/member_spec.rb
|
370
|
+
- spec/models/cadenero/user_spec.rb
|
371
|
+
- spec/spec_helper.rb
|
372
|
+
- spec/support/factories/account_factory.rb
|
373
|
+
- spec/support/factories/user_factory.rb
|
374
|
+
- spec/support/generator_macros.rb
|
375
|
+
- spec/support/subdomain_helpers.rb
|
292
376
|
has_rdoc:
|