decko 0.8.3 → 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/decko/application.rb +1 -1
- data/lib/decko/commands/command.rb +2 -0
- data/lib/decko/commands/rake_command.rb +9 -3
- data/lib/decko/engine.rb +1 -1
- data/lib/decko/generators/decko/decko_generator.rb +1 -1
- data/lib/decko/generators/decko/templates/Gemfile +1 -1
- data/lib/decko/generators/decko/templates/config/initializers/cypress_on_rails.rb +10 -0
- data/lib/decko/response.rb +20 -2
- data/lib/decko/rest_spec_helper.rb +5 -2
- data/rails/controllers/card_controller.rb +3 -5
- data/rails/engine-routes.rb +1 -0
- metadata +6 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3bfe665a6798cb6d119bb776e202dce24979bf5f
|
4
|
+
data.tar.gz: abb5cb4c0a969cdbbc16c8dd4db5ad56ac0525c2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ac95d083126c0a2aad3b617f17791b7598fa774ee86ff967c972307a09a7541f2a7729f55a5a1fc70a4845aac613e89d976014445bef24ae0be6980a998a5f7b
|
7
|
+
data.tar.gz: 8c2fa80ddceb0366c36fceebf0b445dc53c92286b6f7bf1c976f2ab078c420d9bb5218439dc16a9845221a217c7c765e0fc499ab1b216638aef38c7505f82ed3
|
data/lib/decko/application.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require File.expand_path("../command", __FILE__)
|
2
|
+
# require "pry"
|
2
3
|
|
3
4
|
module Decko
|
4
5
|
module Commands
|
@@ -15,13 +16,18 @@ module Decko
|
|
15
16
|
end
|
16
17
|
|
17
18
|
def run
|
18
|
-
|
19
|
+
commands.each do |cmd|
|
19
20
|
puts cmd
|
20
|
-
|
21
|
+
# exit_with_child_status cmd
|
22
|
+
|
23
|
+
result = `#{cmd}`
|
24
|
+
process = $?
|
25
|
+
puts result
|
26
|
+
exit process.exitstatus unless process.success?
|
21
27
|
end
|
22
28
|
end
|
23
29
|
|
24
|
-
def
|
30
|
+
def commands
|
25
31
|
task_cmd = "bundle exec rake #{@task}"
|
26
32
|
return [task_cmd] if !@envs || @envs.empty?
|
27
33
|
@envs.map do |env|
|
data/lib/decko/engine.rb
CHANGED
@@ -49,7 +49,7 @@ module Decko
|
|
49
49
|
end
|
50
50
|
ActiveSupport.on_load(:after_initialize) do
|
51
51
|
begin
|
52
|
-
require_dependency "card"
|
52
|
+
require_dependency "card" if Cardio.load_card?
|
53
53
|
rescue ActiveRecord::StatementInvalid => e
|
54
54
|
::Rails.logger.warn "database not available[#{::Rails.env}] #{e}"
|
55
55
|
end
|
@@ -88,7 +88,7 @@ class DeckoGenerator < Rails::Generators::AppBase
|
|
88
88
|
template "boot.rb"
|
89
89
|
template "databases/#{options[:database]}.yml", "database.yml"
|
90
90
|
template "cucumber.yml" if options["core-dev"]
|
91
|
-
template "initializers/
|
91
|
+
template "initializers/cypress_on_rails.rb" if options["core-dev"]
|
92
92
|
end
|
93
93
|
end
|
94
94
|
|
@@ -0,0 +1,10 @@
|
|
1
|
+
if defined?(CypressOnRails)
|
2
|
+
CypressOnRails.configure do |c|
|
3
|
+
c.cypress_folder = File.join Decko.gem_root, "spec", "cypress"
|
4
|
+
# WARNING!! CypressOnRails can execute arbitrary ruby code
|
5
|
+
# please use with extra caution if enabling on hosted servers or starting your
|
6
|
+
# local server on 0.0.0.0
|
7
|
+
c.use_middleware = Rails.env.cypress? || ENV["CYPRESS_DEV"]
|
8
|
+
c.logger = Rails.logger
|
9
|
+
end
|
10
|
+
end
|
data/lib/decko/response.rb
CHANGED
@@ -3,7 +3,7 @@ module Decko
|
|
3
3
|
module Response
|
4
4
|
private
|
5
5
|
def respond format, result, status
|
6
|
-
if status
|
6
|
+
if status.in? [302, 303]
|
7
7
|
hard_redirect result
|
8
8
|
elsif format.is_a?(Card::Format::FileFormat) && status == 200
|
9
9
|
send_file(*result)
|
@@ -16,6 +16,20 @@ module Decko
|
|
16
16
|
render body: body, status: status, content_type: content_type
|
17
17
|
end
|
18
18
|
|
19
|
+
def redirect_cud_success success
|
20
|
+
redirect_type = success.redirect || default_cud_success_redirect_type
|
21
|
+
if redirect_type.to_s == "soft"
|
22
|
+
success.target ||= self
|
23
|
+
soft_redirect success
|
24
|
+
else
|
25
|
+
hard_redirect success.to_url, 303
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def default_cud_success_redirect_type
|
30
|
+
Card::Env.ajax? ? "soft" : "hard"
|
31
|
+
end
|
32
|
+
|
19
33
|
# return a redirect response
|
20
34
|
def hard_redirect url, status=302
|
21
35
|
url = card_url url # make sure we have absolute url
|
@@ -32,6 +46,7 @@ module Decko
|
|
32
46
|
# return a standard GET response directly.
|
33
47
|
# Used in AJAX situations where PRG pattern is unwieldy
|
34
48
|
def soft_redirect success
|
49
|
+
# Card::Cache.renew
|
35
50
|
@card = success.target
|
36
51
|
require_card_for_soft_redirect!
|
37
52
|
self.params = Card::Env[:params] = soft_redirect_params
|
@@ -87,7 +102,10 @@ module Decko
|
|
87
102
|
end
|
88
103
|
|
89
104
|
def format_name_from_params
|
90
|
-
explicit_file_format?
|
105
|
+
if explicit_file_format? then :file
|
106
|
+
elsif params[:format].present? then params[:format].to_sym
|
107
|
+
else request.format.to_sym
|
108
|
+
end
|
91
109
|
end
|
92
110
|
|
93
111
|
def explicit_file_format?
|
@@ -3,8 +3,11 @@
|
|
3
3
|
module Decko
|
4
4
|
# for use in REST API specs
|
5
5
|
module RestSpecMethods
|
6
|
-
def
|
7
|
-
|
6
|
+
def with_api_key_for usermark
|
7
|
+
key_card = Card.fetch [usermark, :account, :api_key], new: {}
|
8
|
+
key_card.content = "asdkfjh1023498203jdfs"
|
9
|
+
Card::Auth.as_bot { key_card.save! }
|
10
|
+
yield key_card.content
|
8
11
|
end
|
9
12
|
end
|
10
13
|
|
@@ -61,7 +61,7 @@ class CardController < ActionController::Base
|
|
61
61
|
end
|
62
62
|
|
63
63
|
def authenticate
|
64
|
-
Card::Auth.set_current params[:token], params[:
|
64
|
+
Card::Auth.set_current token: params[:token], api_key: params[:api_key]
|
65
65
|
end
|
66
66
|
|
67
67
|
def load_mark
|
@@ -101,11 +101,9 @@ class CardController < ActionController::Base
|
|
101
101
|
def cud_success
|
102
102
|
success = Card::Env.success.in_context card.name
|
103
103
|
if success.reload?
|
104
|
-
reload
|
105
|
-
elsif Card::Env.ajax? && !success.hard_redirect?
|
106
|
-
soft_redirect success
|
104
|
+
reload # instruct JSON to reload
|
107
105
|
else
|
108
|
-
|
106
|
+
redirect_cud_success success
|
109
107
|
end
|
110
108
|
end
|
111
109
|
|
data/rails/engine-routes.rb
CHANGED
@@ -20,6 +20,7 @@ Decko::Engine.routes.draw do
|
|
20
20
|
|
21
21
|
# Alternate GET requests
|
22
22
|
get "new/:type" => "card#read", view: "new" # common case for card without mark
|
23
|
+
get "type/:type" => "card#read"
|
23
24
|
get ":mark/view/:view(.:format)" => "card#read" # simplifies API documentation
|
24
25
|
get "card/:view(/:mark(.:format))" => "card#read", view: /new|edit/ # legacy
|
25
26
|
|
metadata
CHANGED
@@ -1,17 +1,17 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: decko
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ethan McCutchen
|
8
|
+
- Philipp Kühl
|
8
9
|
- Lewis Hoffman
|
9
10
|
- Gerry Gleason
|
10
|
-
- Philipp Kühl
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2019-
|
14
|
+
date: 2019-10-02 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: card
|
@@ -19,14 +19,14 @@ dependencies:
|
|
19
19
|
requirements:
|
20
20
|
- - '='
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: 1.
|
22
|
+
version: 1.99.0
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
27
|
- - '='
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: 1.
|
29
|
+
version: 1.99.0
|
30
30
|
description: a wiki approach to stuctured data, dynamic interaction, and web design
|
31
31
|
email:
|
32
32
|
- info@decko.org
|
@@ -103,6 +103,7 @@ files:
|
|
103
103
|
- lib/decko/generators/decko/templates/config/deck.yml
|
104
104
|
- lib/decko/generators/decko/templates/config/environment.rb
|
105
105
|
- lib/decko/generators/decko/templates/config/initializers/cypress_dev.rb
|
106
|
+
- lib/decko/generators/decko/templates/config/initializers/cypress_on_rails.rb
|
106
107
|
- lib/decko/generators/decko/templates/config/puma.rb
|
107
108
|
- lib/decko/generators/decko/templates/config/routes.erb
|
108
109
|
- lib/decko/generators/decko/templates/gitignore
|