softwear-lib 1.10.3 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Rakefile +0 -1
- data/app/controllers/softwear/application_controller.rb +5 -0
- data/app/controllers/softwear/error_reports_controller.rb +37 -0
- data/app/helpers/softwear/application_helper.rb +4 -0
- data/app/mailers/error_report_mailer.rb +53 -0
- data/app/views/error_report_mailer/send_report.html.erb +30 -0
- data/app/views/layouts/application.html.erb +14 -0
- data/app/views/softwear/errors/_error.html.erb +35 -0
- data/app/views/softwear/errors/internal_server_error.html.erb +6 -0
- data/app/views/softwear/errors/internal_server_error.js.erb +10 -0
- data/config/routes.rb +3 -0
- data/lib/softwear/auth/emails_helper.rb +9 -0
- data/lib/softwear/auth/helper.rb +8 -0
- data/lib/softwear/engine.rb +5 -0
- data/lib/softwear/error_catcher.rb +67 -0
- data/lib/softwear/lib.rb +57 -54
- data/lib/softwear/{lib → library}/api_controller.rb +2 -2
- data/lib/softwear/{lib → library}/capistrano.rb +1 -1
- data/lib/softwear/{lib → library}/controller_authentication.rb +1 -1
- data/lib/softwear/{lib → library}/enqueue.rb +2 -2
- data/lib/softwear/{lib → library}/spec.rb +1 -1
- data/lib/softwear/library/version.rb +6 -0
- data/softwear-lib.gemspec +2 -2
- metadata +35 -22
- data/lib/softwear/lib/version.rb +0 -5
- /data/lib/softwear/{lib → library}/tcp_server.rb +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bc2081155b538f2eda9e912f95a03d3b634146c3
|
4
|
+
data.tar.gz: e9d8aacdd47800085cac3191e06aff55dcf24d87
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f46eae9a58c4379d540c8fa01fd9fc3fcda289ff8acbb8fa492d2d7edeead7bc075a13dc8c69ef1a18d7c2375dea7c4589c4fae4721da61c8643118e310f91e0
|
7
|
+
data.tar.gz: bb94cb020e85c5ea859aafa9441d5a3c7aec22d480a101cd1fed0980c6dc4f08999b6ad6217c76acd7975e3215f667fbc5c76151ef8bdab56ba0c3ee23a92e79
|
data/Rakefile
CHANGED
@@ -0,0 +1,37 @@
|
|
1
|
+
module Softwear
|
2
|
+
class ErrorReportsController < ApplicationController
|
3
|
+
skip_before_filter :authenticate_user!
|
4
|
+
|
5
|
+
helper Softwear::Engine.helpers do
|
6
|
+
def method_missing(name, *args, &block)
|
7
|
+
if main_app.respond_to?(name)
|
8
|
+
main_app.send(name, *args, &block)
|
9
|
+
else
|
10
|
+
super
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
def email_report
|
16
|
+
if current_user
|
17
|
+
user = current_user
|
18
|
+
else
|
19
|
+
begin
|
20
|
+
user = User.find(params[:user_id]) unless params[:user_id].blank?
|
21
|
+
rescue StandardError => _e
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
ErrorReportMailer.send_report(user, params).deliver
|
26
|
+
flash[:success] = 'Sent error report. Sorry about that and thank you for your submission.'
|
27
|
+
|
28
|
+
if user
|
29
|
+
redirect_to '/'
|
30
|
+
elsif params[:order_id] && (key = Order.where(id: params[:order_id]).pluck(:customer_key).first)
|
31
|
+
redirect_to customer_order_path(key)
|
32
|
+
else
|
33
|
+
render inline: "<%= flash[:success] %>"
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
class ErrorReportMailer < ActionMailer::Base
|
2
|
+
default to: 'devteam@annarbortees.com'
|
3
|
+
|
4
|
+
def send_report(user, params)
|
5
|
+
@order = Order.find_by(id: params[:order_id])
|
6
|
+
@user = user || User.find_by(id: params[:user_id])
|
7
|
+
|
8
|
+
if @user.nil?
|
9
|
+
from_customer = true
|
10
|
+
|
11
|
+
if @order.nil?
|
12
|
+
@user = OpenStruct.new(
|
13
|
+
email: 'unknown-user@annarbortees.com',
|
14
|
+
full_name: 'Unknown Customer'
|
15
|
+
)
|
16
|
+
else
|
17
|
+
@user = OpenStruct.new(
|
18
|
+
email: @order.email,
|
19
|
+
full_name: "(Customer) #{@order.full_name}"
|
20
|
+
)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
@error_class = params[:error_class]
|
25
|
+
@error_message = params[:error_message]
|
26
|
+
@backtrace = params[:backtrace]
|
27
|
+
@user_message = params[:user_message]
|
28
|
+
@additional_info = params[:additional_info]
|
29
|
+
|
30
|
+
mail(
|
31
|
+
from: from_customer ? 'customer-report@softwearcrm.com' : @user.email,
|
32
|
+
reply_to: @user.email,
|
33
|
+
to: 'devteam@annarbortees.com',
|
34
|
+
subject: "Softwear CRM Error Report From #{@user.full_name}"
|
35
|
+
)
|
36
|
+
end
|
37
|
+
|
38
|
+
def auth_server_down(at)
|
39
|
+
mail(
|
40
|
+
from: 'noreply@softwearcrm.com',
|
41
|
+
subject: 'Authentication server is down!',
|
42
|
+
body: at.strftime("Lost contact on %m/%d/%Y at %I:%M%p. We're running on cache!")
|
43
|
+
)
|
44
|
+
end
|
45
|
+
|
46
|
+
def auth_server_up(at)
|
47
|
+
mail(
|
48
|
+
from: 'noreply@softwearcrm.com',
|
49
|
+
subject: 'Authentication server back up!',
|
50
|
+
body: at.strftime("Just got a response at %I:%M%p")
|
51
|
+
)
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
<h1> <%= @user.full_name %>'s report: </h1>
|
2
|
+
<div>
|
3
|
+
<%= @user.email %>:
|
4
|
+
</div>
|
5
|
+
<p> <%= @user_message %> </p>
|
6
|
+
<h1> Error details: </h1>
|
7
|
+
<div>
|
8
|
+
<%= @error_class %>: <%= @error_message %>
|
9
|
+
</div>
|
10
|
+
<div>
|
11
|
+
<h4>Additional information:</h4>
|
12
|
+
<ul>
|
13
|
+
<% @additional_info.split("|||").each do |info| %>
|
14
|
+
<li><%= info %></li>
|
15
|
+
<% end %>
|
16
|
+
</ul>
|
17
|
+
</div>
|
18
|
+
<div>
|
19
|
+
<ul>
|
20
|
+
<% @backtrace.split("\n").each do |line| %>
|
21
|
+
<li>
|
22
|
+
<% if Softwear::EmailsHelper.backtrace_is_from_app?(line) %>
|
23
|
+
<strong><%= line %></strong><br />
|
24
|
+
<% else %>
|
25
|
+
<%= line %><br />
|
26
|
+
<% end %>
|
27
|
+
</li>
|
28
|
+
<% end %>
|
29
|
+
</ul>
|
30
|
+
</div>
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>Softwear</title>
|
5
|
+
<%= stylesheet_link_tag "softwear/application", media: "all" %>
|
6
|
+
<%= javascript_include_tag "softwear/application" %>
|
7
|
+
<%= csrf_meta_tags %>
|
8
|
+
</head>
|
9
|
+
<body>
|
10
|
+
|
11
|
+
<%= yield %>
|
12
|
+
|
13
|
+
</body>
|
14
|
+
</html>
|
@@ -0,0 +1,35 @@
|
|
1
|
+
<div>
|
2
|
+
Fortunately, a report of this error can be sent to the dev team.
|
3
|
+
</div>
|
4
|
+
|
5
|
+
<% if current_user || !Rails.env.production? %>
|
6
|
+
<div>
|
7
|
+
<%= link_to 'Show error details', '#', id: 'show-error-details-btn', onclick: '$("#error-details").toggle(); return false;', class: 'btn btn-info' %>
|
8
|
+
<div id='error-details' style='<%= "display: none;" if Rails.env.production? %>'>
|
9
|
+
<p><%= error.class.name %>: <%= error.message %></p>
|
10
|
+
<% error.backtrace.each do |line| %>
|
11
|
+
<% if backtrace_is_from_app?(line) %>
|
12
|
+
<strong><%= line %></strong><br />
|
13
|
+
<% else %>
|
14
|
+
<%= line %><br />
|
15
|
+
<% end %>
|
16
|
+
<% end %>
|
17
|
+
</div>
|
18
|
+
</div>
|
19
|
+
<% end %>
|
20
|
+
|
21
|
+
<%= form_tag softwear.error_report_path, method: :post do %>
|
22
|
+
<%= hidden_field_tag 'error_class', error.class.name %>
|
23
|
+
<%= hidden_field_tag 'error_message', error.message %>
|
24
|
+
<%= hidden_field_tag 'backtrace', error.backtrace.join("\n") %>
|
25
|
+
<%= hidden_field_tag 'user_id', current_user.try(:id) %>
|
26
|
+
<%= hidden_field_tag 'additional_info', additional_info %>
|
27
|
+
<%= hidden_field_tag 'order_id', @order.try(:id) %>
|
28
|
+
|
29
|
+
<div class='form-group'>
|
30
|
+
<%= label_tag 'user_message', 'Describe how you reached this error.' %>
|
31
|
+
<%= text_area_tag 'user_message', '', class: 'form-control' %>
|
32
|
+
</div>
|
33
|
+
|
34
|
+
<%= submit_tag 'Send', class: 'btn btn-info' %>
|
35
|
+
<% end %>
|
@@ -0,0 +1,10 @@
|
|
1
|
+
<% if current_user %>
|
2
|
+
setupContentModal(function(modal) {
|
3
|
+
modal.find('.modal-content').addClass('modal-content-error');
|
4
|
+
modal.find('.modal-body').addClass('centered');
|
5
|
+
});
|
6
|
+
showContentModal({
|
7
|
+
title: 'You have encountered an error!',
|
8
|
+
body: $("<%=j render 'softwear/errors/error', error: @error, additional_info: @additional_info %>")
|
9
|
+
});
|
10
|
+
<% end %>
|
data/config/routes.rb
ADDED
data/lib/softwear/auth/helper.rb
CHANGED
@@ -0,0 +1,67 @@
|
|
1
|
+
require 'active_support'
|
2
|
+
|
3
|
+
module Softwear
|
4
|
+
module ErrorCatcher
|
5
|
+
extend ActiveSupport::Concern
|
6
|
+
|
7
|
+
included do
|
8
|
+
rescue_from Exception, StandardError, with: :error_report_form unless Rails.env.test?
|
9
|
+
end
|
10
|
+
|
11
|
+
protected
|
12
|
+
|
13
|
+
def iterm_annotation(content)
|
14
|
+
puts "=======================================================\033]1337;AddAnnotation=#{content}\a"
|
15
|
+
end
|
16
|
+
|
17
|
+
def error_report_form(error)
|
18
|
+
time_of_error = Time.now.strftime("%x %I:%M %p")
|
19
|
+
|
20
|
+
iterm_annotation("Begin #{error.class.name} (#{time_of_error})")
|
21
|
+
Rails.logger.error "**** #{error.class.name}: #{error.message} ****\n\n"\
|
22
|
+
"\t#{error.backtrace.join("\n\t")}"
|
23
|
+
iterm_annotation("End #{error.class.name} (#{time_of_error})")
|
24
|
+
|
25
|
+
@error = error
|
26
|
+
@additional_info = gather_additional_info
|
27
|
+
|
28
|
+
begin
|
29
|
+
respond_to do |format|
|
30
|
+
format.html { render 'softwear/errors/internal_server_error', layout: layout_for_error, status: 500 }
|
31
|
+
format.js { render 'softwear/errors/internal_server_error', layout: layout_for_error, status: 500 }
|
32
|
+
format.json { render json: '{}', status: 500 }
|
33
|
+
end
|
34
|
+
rescue AbstractController::DoubleRenderError => e
|
35
|
+
Rails.logger.error "DOUBLE RENDER ERROR IN CONTROLLER ERROR CATCHER!!! #{e.message}"
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
def filter_params(params)
|
40
|
+
new_hash = {}
|
41
|
+
params.each do |key, value|
|
42
|
+
new_value = value
|
43
|
+
|
44
|
+
case key.to_s
|
45
|
+
when /cc_number/ then new_value = "<FILTERED>"
|
46
|
+
when /cc_cvc/ then new_value = "<FILTERED>"
|
47
|
+
when /password/ then new_value = "<FILTERED>"
|
48
|
+
end
|
49
|
+
|
50
|
+
new_hash[key] = new_value
|
51
|
+
end
|
52
|
+
new_hash
|
53
|
+
end
|
54
|
+
|
55
|
+
def gather_additional_info
|
56
|
+
JSON.pretty_generate(filter_params(params)) + "|||" +
|
57
|
+
instance_variables
|
58
|
+
.reject { |v| /^@_/ =~ v.to_s || %i(@view_renderer @output_buffer @view_flow @error).include?(v) }
|
59
|
+
.map { |v| "#{v}: #{instance_variable_get(v).inspect}" }
|
60
|
+
.join("|||")
|
61
|
+
end
|
62
|
+
|
63
|
+
def layout_for_error
|
64
|
+
current_user ? 'application' : 'no_overlay'
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
data/lib/softwear/lib.rb
CHANGED
@@ -1,12 +1,14 @@
|
|
1
|
-
require "softwear/
|
2
|
-
require "softwear/
|
3
|
-
require "softwear/
|
1
|
+
require "softwear/engine"
|
2
|
+
require "softwear/error_catcher"
|
3
|
+
require "softwear/library/version"
|
4
|
+
require "softwear/library/spec"
|
5
|
+
require "softwear/library/api_controller"
|
4
6
|
begin
|
5
|
-
require "softwear/
|
7
|
+
require "softwear/library/enqueue"
|
6
8
|
rescue LoadError
|
7
9
|
end
|
8
10
|
|
9
|
-
require "softwear/
|
11
|
+
require "softwear/library/controller_authentication"
|
10
12
|
require "softwear/auth/helper"
|
11
13
|
require "softwear/auth/model"
|
12
14
|
require "softwear/auth/belongs_to_user"
|
@@ -14,63 +16,64 @@ require "softwear/auth/spec"
|
|
14
16
|
require "softwear/auth/token_authentication"
|
15
17
|
|
16
18
|
module Softwear
|
17
|
-
module
|
19
|
+
module Library
|
18
20
|
GEMFILE_OPENER = "# === BEGIN SOFTWEAR LIB GEMS === #"
|
19
21
|
GEMFILE_CLOSER = "# === END SOFTWEAR LIB GEMS === #"
|
20
22
|
|
21
23
|
COMMON_GEMS = %(
|
22
|
-
gem 'rails', '~> 4.2.3'
|
24
|
+
gem 'rails', '~> 4.2.3'
|
23
25
|
|
24
|
-
gem 'mysql2'
|
25
|
-
gem 'sass-rails'
|
26
|
-
gem 'uglifier', '>= 1.3.0'
|
27
|
-
gem 'coffee-rails', '~> 4.0.0'
|
28
|
-
gem 'bootstrap-sass', '~> 3.2.0'
|
29
|
-
gem 'activeresource'
|
30
|
-
gem 'jquery-rails'
|
31
|
-
gem 'jquery-ui-rails'
|
32
|
-
gem 'hirb'
|
33
|
-
gem 'momentjs-rails', '~> 2.9.0'
|
34
|
-
gem 'bootstrap3-datetimepicker-rails', '4.7.14'
|
35
|
-
gem 'js-routes'
|
36
|
-
gem 'inherited_resources'
|
37
|
-
gem 'devise'
|
38
|
-
gem 'figaro'
|
39
|
-
gem 'paranoia', '~> 2.0'
|
40
|
-
gem 'paperclip'
|
41
|
-
gem 'kaminari'
|
42
|
-
gem 'whenever'
|
43
|
-
gem 'dumpsync', git: 'git://github.com/AnnArborTees/dumpsync.git'
|
44
|
-
gem 'bootstrap_form'
|
45
|
-
gem 'acts_as_warnable', git: 'git://github.com/AnnArborTees/acts_as_warnable.git'
|
26
|
+
gem 'mysql2'
|
27
|
+
gem 'sass-rails'
|
28
|
+
gem 'uglifier', '>= 1.3.0'
|
29
|
+
gem 'coffee-rails', '~> 4.0.0'
|
30
|
+
gem 'bootstrap-sass', '~> 3.2.0'
|
31
|
+
gem 'activeresource'
|
32
|
+
gem 'jquery-rails'
|
33
|
+
gem 'jquery-ui-rails'
|
34
|
+
gem 'hirb'
|
35
|
+
gem 'momentjs-rails', '~> 2.9.0'
|
36
|
+
gem 'bootstrap3-datetimepicker-rails', '4.7.14'
|
37
|
+
gem 'js-routes'
|
38
|
+
gem 'inherited_resources'
|
39
|
+
gem 'devise'
|
40
|
+
gem 'figaro'
|
41
|
+
gem 'paranoia', '~> 2.0'
|
42
|
+
gem 'paperclip'
|
43
|
+
gem 'kaminari'
|
44
|
+
gem 'whenever'
|
45
|
+
gem 'dumpsync', git: 'git://github.com/AnnArborTees/dumpsync.git'
|
46
|
+
gem 'bootstrap_form'
|
47
|
+
gem 'acts_as_warnable', git: 'git://github.com/AnnArborTees/acts_as_warnable.git'
|
46
48
|
|
47
|
-
group :development do
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
end
|
49
|
+
group :development do
|
50
|
+
gem 'capistrano', '~> 3.2.0'
|
51
|
+
gem 'capistrano-rails'
|
52
|
+
gem 'capistrano-rvm', github: 'AnnArborTees/rvm'
|
53
|
+
gem 'capistrano-bundler', github: 'AnnArborTees/bundler'
|
54
|
+
gem 'better_errors', '>= 0.3.2'
|
55
|
+
gem 'binding_of_caller'
|
56
|
+
end
|
55
57
|
|
56
|
-
group :development, :test do
|
57
|
-
|
58
|
-
|
59
|
-
end
|
58
|
+
group :development, :test do
|
59
|
+
gem 'byebug', platforms: :mri
|
60
|
+
gem 'rubinius-debugger', platforms: :rbx
|
61
|
+
end
|
62
|
+
|
63
|
+
group :test do
|
64
|
+
gem "rspec-rails", "~> 3.2.0"
|
65
|
+
gem 'factory_girl_rails', '>= 4.2.0', require: true
|
66
|
+
gem 'capybara', '~> 2.4'
|
67
|
+
gem 'capybara-webkit'
|
68
|
+
gem 'webmock', require: false
|
69
|
+
gem 'rspec-mocks'
|
70
|
+
gem 'rspec-retry'
|
71
|
+
gem 'email_spec'
|
72
|
+
gem 'selenium-webdriver'
|
73
|
+
gem 'shoulda-matchers'
|
74
|
+
end
|
75
|
+
)
|
60
76
|
|
61
|
-
group :test do
|
62
|
-
gem "rspec-rails", "~> 3.2.0"
|
63
|
-
gem 'factory_girl_rails', '>= 4.2.0', require: true
|
64
|
-
gem 'capybara', '~> 2.4'
|
65
|
-
gem 'capybara-webkit'
|
66
|
-
gem 'webmock', require: false
|
67
|
-
gem 'rspec-mocks'
|
68
|
-
gem 'rspec-retry'
|
69
|
-
gem 'email_spec'
|
70
|
-
gem 'selenium-webdriver'
|
71
|
-
gem 'shoulda-matchers'
|
72
|
-
end
|
73
|
-
)
|
74
77
|
def self.fix_sort_argument_error_on_rubinius
|
75
78
|
# Rubinius calls Enumerator#sort! within Enumerator#sort_by,
|
76
79
|
# # and Mail::PartsList calls sort_by within sort!... See the
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'inherited_resources'
|
2
2
|
|
3
3
|
module Softwear
|
4
|
-
module
|
4
|
+
module Library
|
5
5
|
class ApiController < ActionController::Base
|
6
6
|
include ::InheritedResources::Actions
|
7
7
|
include ::InheritedResources::BaseHelpers
|
@@ -20,7 +20,7 @@ module Softwear
|
|
20
20
|
self.class_attribute :parents_symbols, :resources_configuration, :instance_writer => false
|
21
21
|
|
22
22
|
def self.base_class
|
23
|
-
Softwear::
|
23
|
+
Softwear::Library::ApiController
|
24
24
|
end
|
25
25
|
|
26
26
|
def self.token_authenticate(user_class, options = {})
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'sidekiq'
|
2
2
|
|
3
3
|
module Softwear
|
4
|
-
module
|
4
|
+
module Library
|
5
5
|
module Enqueue
|
6
6
|
extend ActiveSupport::Concern
|
7
7
|
|
@@ -40,7 +40,7 @@ module Softwear
|
|
40
40
|
enqueue_class_mod.module_eval <<-RUBY, __FILE__, __LINE__ + 1
|
41
41
|
def enqueue_#{method_name}(id, *args)
|
42
42
|
::Sidekiq::Client.push(
|
43
|
-
'class' => ::Softwear::
|
43
|
+
'class' => ::Softwear::Library::Enqueue::Worker,
|
44
44
|
'args' => [name, id, #{method_name.inspect}] + args,
|
45
45
|
'queue' => #{options[:queue].inspect}
|
46
46
|
)
|
data/softwear-lib.gemspec
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
# coding: utf-8
|
2
2
|
lib = File.expand_path('../lib', __FILE__)
|
3
3
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
-
require 'softwear/
|
4
|
+
require 'softwear/library/version'
|
5
5
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
7
|
spec.name = "softwear-lib"
|
8
|
-
spec.version = Softwear::
|
8
|
+
spec.version = Softwear::Library::VERSION
|
9
9
|
spec.authors = ["Nigel Baillie"]
|
10
10
|
spec.email = ["nigel@annarbortees.com"]
|
11
11
|
spec.summary = %q{Common gems and logic for all softwear apps.}
|
metadata
CHANGED
@@ -1,69 +1,69 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: softwear-lib
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nigel Baillie
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-11-
|
11
|
+
date: 2016-11-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '1.7'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - ~>
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.7'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - ~>
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '10.0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - ~>
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '10.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rspec
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - ~>
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: 3.2.0
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - ~>
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: 3.2.0
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: activesupport
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - ~>
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: 4.2.5
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - ~>
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: 4.2.5
|
69
69
|
description:
|
@@ -75,30 +75,43 @@ executables:
|
|
75
75
|
extensions: []
|
76
76
|
extra_rdoc_files: []
|
77
77
|
files:
|
78
|
-
- .gitignore
|
79
|
-
- .rspec
|
78
|
+
- ".gitignore"
|
79
|
+
- ".rspec"
|
80
80
|
- Gemfile
|
81
81
|
- LICENSE.txt
|
82
82
|
- README.md
|
83
83
|
- Rakefile
|
84
|
+
- app/controllers/softwear/application_controller.rb
|
85
|
+
- app/controllers/softwear/error_reports_controller.rb
|
86
|
+
- app/helpers/softwear/application_helper.rb
|
87
|
+
- app/mailers/error_report_mailer.rb
|
88
|
+
- app/views/error_report_mailer/send_report.html.erb
|
89
|
+
- app/views/layouts/application.html.erb
|
90
|
+
- app/views/softwear/errors/_error.html.erb
|
91
|
+
- app/views/softwear/errors/internal_server_error.html.erb
|
92
|
+
- app/views/softwear/errors/internal_server_error.js.erb
|
84
93
|
- bin/softwear
|
85
94
|
- bin/softwear-deploy
|
95
|
+
- config/routes.rb
|
86
96
|
- lib/softwear/auth/belongs_to_user.rb
|
87
97
|
- lib/softwear/auth/controller.rb
|
98
|
+
- lib/softwear/auth/emails_helper.rb
|
88
99
|
- lib/softwear/auth/helper.rb
|
89
100
|
- lib/softwear/auth/model.rb
|
90
101
|
- lib/softwear/auth/spec.rb
|
91
102
|
- lib/softwear/auth/standard_model.rb
|
92
103
|
- lib/softwear/auth/stubbed_model.rb
|
93
104
|
- lib/softwear/auth/token_authentication.rb
|
105
|
+
- lib/softwear/engine.rb
|
106
|
+
- lib/softwear/error_catcher.rb
|
94
107
|
- lib/softwear/lib.rb
|
95
|
-
- lib/softwear/
|
96
|
-
- lib/softwear/
|
97
|
-
- lib/softwear/
|
98
|
-
- lib/softwear/
|
99
|
-
- lib/softwear/
|
100
|
-
- lib/softwear/
|
101
|
-
- lib/softwear/
|
108
|
+
- lib/softwear/library/api_controller.rb
|
109
|
+
- lib/softwear/library/capistrano.rb
|
110
|
+
- lib/softwear/library/controller_authentication.rb
|
111
|
+
- lib/softwear/library/enqueue.rb
|
112
|
+
- lib/softwear/library/spec.rb
|
113
|
+
- lib/softwear/library/tcp_server.rb
|
114
|
+
- lib/softwear/library/version.rb
|
102
115
|
- softwear-lib.gemspec
|
103
116
|
- spec/spec_helper.rb
|
104
117
|
homepage: ''
|
@@ -111,17 +124,17 @@ require_paths:
|
|
111
124
|
- lib
|
112
125
|
required_ruby_version: !ruby/object:Gem::Requirement
|
113
126
|
requirements:
|
114
|
-
- -
|
127
|
+
- - ">="
|
115
128
|
- !ruby/object:Gem::Version
|
116
129
|
version: '0'
|
117
130
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
118
131
|
requirements:
|
119
|
-
- -
|
132
|
+
- - ">="
|
120
133
|
- !ruby/object:Gem::Version
|
121
134
|
version: '0'
|
122
135
|
requirements: []
|
123
136
|
rubyforge_project:
|
124
|
-
rubygems_version: 2.
|
137
|
+
rubygems_version: 2.4.8
|
125
138
|
signing_key:
|
126
139
|
specification_version: 4
|
127
140
|
summary: Common gems and logic for all softwear apps.
|
data/lib/softwear/lib/version.rb
DELETED
File without changes
|