bizside 2.0.1

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 (89) hide show
  1. checksums.yaml +7 -0
  2. data/app/assets/images/jquery-treeTable/images/toggle-collapse-dark.png +0 -0
  3. data/app/assets/images/jquery-treeTable/images/toggle-collapse-light.png +0 -0
  4. data/app/assets/images/jquery-treeTable/images/toggle-expand-dark.png +0 -0
  5. data/app/assets/images/jquery-treeTable/images/toggle-expand-light.png +0 -0
  6. data/app/assets/javascripts/bizside.js +1 -0
  7. data/app/assets/javascripts/jquery-treeTable/jquery.treeTable.js +400 -0
  8. data/app/assets/stylesheets/bizside.css +3 -0
  9. data/app/assets/stylesheets/jquery-treeTable/jquery.treeTable.css.erb +55 -0
  10. data/lib/bizside/acl/access_control_utils.rb +36 -0
  11. data/lib/bizside/acl/available_helper.rb +65 -0
  12. data/lib/bizside/acl/controller_helper.rb +15 -0
  13. data/lib/bizside/acl.rb +6 -0
  14. data/lib/bizside/active_record_logger.rb +3 -0
  15. data/lib/bizside/audit/job_logger.rb +14 -0
  16. data/lib/bizside/audit/logger.rb +35 -0
  17. data/lib/bizside/audit_log.rb +158 -0
  18. data/lib/bizside/cache/entry.rb +112 -0
  19. data/lib/bizside/cache/file_store.rb +167 -0
  20. data/lib/bizside/cache/store.rb +237 -0
  21. data/lib/bizside/cache_util.rb +47 -0
  22. data/lib/bizside/cache_utils.rb +10 -0
  23. data/lib/bizside/carrierwave.rb +48 -0
  24. data/lib/bizside/config.rb +63 -0
  25. data/lib/bizside/configurations/mail.rb +37 -0
  26. data/lib/bizside/configurations/prefix.rb +25 -0
  27. data/lib/bizside/configurations/storage.rb +28 -0
  28. data/lib/bizside/coverage/launch.rb +25 -0
  29. data/lib/bizside/coverage/rcov_formatter.rb +13 -0
  30. data/lib/bizside/cron_validator.rb +62 -0
  31. data/lib/bizside/cucumber.rb +1 -0
  32. data/lib/bizside/engine.rb +4 -0
  33. data/lib/bizside/file_converter.rb +56 -0
  34. data/lib/bizside/file_uploader.rb +71 -0
  35. data/lib/bizside/gengou.rb +46 -0
  36. data/lib/bizside/gengou.yml +5 -0
  37. data/lib/bizside/hanaita_conf.rb +88 -0
  38. data/lib/bizside/implicit_ftps.rb +29 -0
  39. data/lib/bizside/itamae_conf.rb +186 -0
  40. data/lib/bizside/job_utils.rb +285 -0
  41. data/lib/bizside/log_analyzer.rb +122 -0
  42. data/lib/bizside/mailer.rb +56 -0
  43. data/lib/bizside/query_builder.rb +78 -0
  44. data/lib/bizside/railtie.rb +80 -0
  45. data/lib/bizside/record_has_warnings.rb +4 -0
  46. data/lib/bizside/resque.rb +141 -0
  47. data/lib/bizside/rsync.rb +40 -0
  48. data/lib/bizside/safe_pty.rb +17 -0
  49. data/lib/bizside/shib_utils.rb +18 -0
  50. data/lib/bizside/show_exceptions.rb +18 -0
  51. data/lib/bizside/sql_utils.rb +45 -0
  52. data/lib/bizside/string_io.rb +39 -0
  53. data/lib/bizside/string_utils.rb +157 -0
  54. data/lib/bizside/task_helper.rb +263 -0
  55. data/lib/bizside/tasks.rb +6 -0
  56. data/lib/bizside/test_help.rb +17 -0
  57. data/lib/bizside/uploader/content_type_validator.rb +39 -0
  58. data/lib/bizside/uploader/default_extensions.yml +15 -0
  59. data/lib/bizside/uploader/exif.rb +43 -0
  60. data/lib/bizside/uploader/extension_whitelist.rb +26 -0
  61. data/lib/bizside/uploader/filename_validator.rb +31 -0
  62. data/lib/bizside/user_agent/action_view/action_view_4.rb +56 -0
  63. data/lib/bizside/user_agent/action_view/use_variant.rb +4 -0
  64. data/lib/bizside/user_agent/action_view.rb +10 -0
  65. data/lib/bizside/user_agent/controller_helper.rb +51 -0
  66. data/lib/bizside/user_agent.rb +108 -0
  67. data/lib/bizside/validations.rb +8 -0
  68. data/lib/bizside/version.rb +3 -0
  69. data/lib/bizside/view_helper.rb +10 -0
  70. data/lib/bizside/warning.rb +24 -0
  71. data/lib/bizside/yes.rb +16 -0
  72. data/lib/bizside.rb +96 -0
  73. data/lib/cron_validator.rb +3 -0
  74. data/lib/gengou.rb +3 -0
  75. data/lib/job_utils.rb +3 -0
  76. data/lib/query_builder.rb +3 -0
  77. data/lib/record_has_warnings.rb +3 -0
  78. data/lib/sql_utils.rb +3 -0
  79. data/lib/string_utils.rb +3 -0
  80. data/lib/user_agent.rb +3 -0
  81. data/lib/yes.rb +3 -0
  82. data/rails/locales/ja.yml +12 -0
  83. data/validations/collection_presence_validator.rb +15 -0
  84. data/validations/email_validator.rb +1 -0
  85. data/validations/ip_address_validator.rb +22 -0
  86. data/validations/tel_validator.rb +28 -0
  87. data/validations/url_validator.rb +30 -0
  88. data/validations/zip_validator.rb +35 -0
  89. metadata +467 -0
@@ -0,0 +1,24 @@
1
+ require 'bizside/record_has_warnings'
2
+
3
+ module Bizside
4
+ module Warning
5
+ extend ActiveSupport::Concern
6
+
7
+ included do
8
+ attr_accessor :warnings_confirmed
9
+ end
10
+
11
+ def warnings
12
+ @warnings ||= []
13
+ end
14
+
15
+ def check_warnings
16
+ raise Bizside::RecordHasWarnings.new if warnings.present?
17
+ end
18
+
19
+ def warnings_confirmed?
20
+ self.warnings_confirmed == '1' or self.warnings_confirmed == true
21
+ end
22
+
23
+ end
24
+ end
@@ -0,0 +1,16 @@
1
+ module Bizside
2
+ class Yes
3
+
4
+ def self.confirmed?(yes_value)
5
+ case yes_value.to_s.downcase
6
+ when 't', 'true', 'y', 'yes'
7
+ true
8
+ when 'f', 'false', 'n', 'no'
9
+ false
10
+ else
11
+ nil
12
+ end
13
+ end
14
+
15
+ end
16
+ end
data/lib/bizside.rb ADDED
@@ -0,0 +1,96 @@
1
+ require 'logger'
2
+ require 'yaml'
3
+ require 'active_support'
4
+ require 'active_support/core_ext'
5
+
6
+ require 'bizside/version'
7
+ require 'bizside/config'
8
+ require 'bizside/gengou'
9
+ require 'bizside/job_utils'
10
+ require 'bizside/query_builder'
11
+ require 'bizside/sql_utils'
12
+ require 'bizside/string_utils'
13
+ require 'bizside/user_agent'
14
+ require 'bizside/yes'
15
+
16
+ module Bizside
17
+
18
+ # Railsがロードできる場合はRails.envを返し、ロードできない場合はnilを返します。
19
+ def self.rails_env
20
+ defined?(Rails) && Rails.env
21
+ end
22
+
23
+ def self.env
24
+ rails_env || ENV['RAILS_ENV'] || 'development'
25
+ end
26
+
27
+ @@_version_info = nil
28
+ def self.version_info
29
+ if @@_version_info.nil?
30
+ release_tag_file = "/var/#{Bizside.config.add_on_name}/shared/RELEASE_TAG"
31
+ if File.exist?(release_tag_file)
32
+ @@_version_info = File.read(release_tag_file).strip
33
+ else
34
+ if Dir.exist?('.git')
35
+ info = `git describe`.strip.split('-')
36
+ @@_version_info = info[0] ? "#{info[0]}-#{info[1]}" : '0.0.0-0'
37
+ @@_version_info << "-p#{info[2]}" if info[2].to_i > 0
38
+ else
39
+ @@_version_info = '0.0.0-0'
40
+ end
41
+ end
42
+ end
43
+
44
+ @@_version_info
45
+ end
46
+
47
+ @@_config = nil
48
+ def self.config
49
+ if @@_config
50
+ return @@_config unless Bizside.env == 'development'
51
+ end
52
+
53
+ configfile = ENV['CONFIG_FILE'] || File.join('config', 'bizside.yml')
54
+ if File.exist?(configfile)
55
+ @@_config = Bizside::Config.new(YAML.load_file(configfile)[Bizside.env])
56
+ else
57
+ raise "設定ファイルの #{configfile} は必須です。"
58
+ end
59
+ end
60
+
61
+ def self.logger
62
+ if defined?(Rails) && Rails.logger
63
+ Rails.logger
64
+ else
65
+ @logger ||= ::Logger.new($stdout)
66
+ end
67
+ end
68
+ end
69
+
70
+ require 'bizside/shib_utils'
71
+
72
+ require 'bizside/acl' if Bizside.config.acl.enabled?
73
+ require 'bizside/warning' if Bizside.config.warning_validation.enabled?
74
+ require 'bizside/user_agent' if Bizside.config.user_agent.enabled?
75
+ require 'bizside/file_converter' if Bizside.config.jod_converter.enabled?
76
+
77
+ require 'bizside/audit_log'
78
+ require 'bizside/show_exceptions'
79
+
80
+ if defined?(Rails)
81
+ require 'bizside/cache_utils'
82
+ require 'bizside/engine' unless Bizside.config.use_best_practices?
83
+ require 'bizside/railtie'
84
+ end
85
+
86
+ unless Bizside.config.within_bizside_namespace?
87
+ %w[
88
+ CronValidator Gengou JobUtils QueryBuilder
89
+ SqlUtils RecordHasWarnings StringUtils UserAgent Yes
90
+ ].each do |class_name|
91
+ bizside_class_name = "::Bizside::#{class_name}"
92
+ next unless self.class.const_defined?(bizside_class_name)
93
+
94
+ self.class.const_set class_name, self.class.const_get(bizside_class_name)
95
+ end
96
+ end
@@ -0,0 +1,3 @@
1
+ require 'bizside/cron_validator'
2
+
3
+ warn("DEPRECATION WARNING: `require 'cron_validator'` is deprecated. Please use `require 'bizside/cron_validator'` instead.")
data/lib/gengou.rb ADDED
@@ -0,0 +1,3 @@
1
+ require 'bizside/gengou'
2
+
3
+ warn("DEPRECATION WARNING: `require 'gengou'` is deprecated. Please use `require 'bizside/gengou'` instead.")
data/lib/job_utils.rb ADDED
@@ -0,0 +1,3 @@
1
+ require 'bizside/job_utils'
2
+
3
+ warn("DEPRECATION WARNING: `require 'job_utils'` is deprecated. Please use `require 'bizside/job_utils'` instead.")
@@ -0,0 +1,3 @@
1
+ require 'bizside/query_builder'
2
+
3
+ warn("DEPRECATION WARNING: `require 'query_builder'` is deprecated. Please use `require 'bizside/query_builder'` instead.")
@@ -0,0 +1,3 @@
1
+ require 'bizside/record_has_warnings'
2
+
3
+ warn("DEPRECATION WARNING: `require 'record_has_warnings'` is deprecated. Please use `require 'bizside/record_has_warnings'` instead.")
data/lib/sql_utils.rb ADDED
@@ -0,0 +1,3 @@
1
+ require 'bizside/sql_utils'
2
+
3
+ warn("DEPRECATION WARNING: `require 'sql_utils'` is deprecated. Please use `require 'bizside/sql_utils'` instead.")
@@ -0,0 +1,3 @@
1
+ require 'bizside/string_utils'
2
+
3
+ warn("DEPRECATION WARNING: `require 'string_utils'` is deprecated. Please use `require 'bizside/string_utils'` instead.")
data/lib/user_agent.rb ADDED
@@ -0,0 +1,3 @@
1
+ require 'bizside/user_agent'
2
+
3
+ warn("DEPRECATION WARNING: `require 'user_agent'` is deprecated. Please use `require 'bizside/user_agent'` instead.")
data/lib/yes.rb ADDED
@@ -0,0 +1,3 @@
1
+ require 'bizside/yes'
2
+
3
+ warn("DEPRECATION WARNING: `require 'yes'` is deprecated. Please use `require 'bizside/yes'` instead.")
@@ -0,0 +1,12 @@
1
+ ja:
2
+ bizside:
3
+ messages:
4
+ logout_not_available: 全てのブラウザを閉じるまでログアウトは完了しません。\n席を離れる際には全ブラウザを閉じてください。
5
+
6
+ errors:
7
+ messages:
8
+ content_type_whitelist_error: にContent-Typeが%{content_type}のファイルをアップロードすることはできません。
9
+ extension_white_list_error: に拡張子が %{extension} のファイルをアップロードすることはできません。
10
+ extension_whitelist_error: に拡張子が %{extension} のファイルをアップロードすることはできません。
11
+ filename_error: '%{filename} に使用できない文字が含まれています。'
12
+ mini_magick_processing_error: 画像ファイルの編集に失敗しました。%{e}"
@@ -0,0 +1,15 @@
1
+ class CollectionPresenceValidator < ActiveModel::EachValidator
2
+
3
+ def validate_each(record, attribute, value)
4
+ value.each do |v|
5
+ if v.respond_to?(:deleted?)
6
+ next if v.deleted?
7
+ end
8
+
9
+ return if v.present?
10
+ end
11
+
12
+ record.errors.add(attribute, :empty)
13
+ end
14
+
15
+ end
@@ -0,0 +1 @@
1
+ require 'email_validator/strict'
@@ -0,0 +1,22 @@
1
+ require 'ipaddress'
2
+
3
+ class IpAddressValidator < ActiveModel::EachValidator
4
+
5
+ def initialize(options = {})
6
+ super(options)
7
+ end
8
+
9
+ def validate_each(record, attribute, value)
10
+ return if (value.nil? or value.empty?)
11
+
12
+ begin
13
+ if options[:cidr]
14
+ IPAddress::IPv4.new(value)
15
+ else
16
+ raise unless IPAddress::valid_ipv4?(value)
17
+ end
18
+ rescue
19
+ record.errors[attribute] << (options[:message] || "はIPアドレスとして正しくありません。")
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,28 @@
1
+ # 電話番号のバリデーション
2
+ # ActiveModel::EachValidatorを継承してRailsに統合する
3
+ class TelValidator < ActiveModel::EachValidator
4
+
5
+ def initialize(options = {})
6
+ super(options)
7
+ end
8
+
9
+ # レコード保存時に呼び出されるバリデーションメソッド
10
+ # record ・・・ 保存対象のレコード
11
+ # attribute ・・・ チェック対象の属性(DBのカラム)
12
+ # value ・・・ 入力された値
13
+ def validate_each(record, attribute, value)
14
+ return if value.nil? or value.empty?
15
+
16
+ unless validate_tel(record, value)
17
+ record.errors[attribute] << I18n.t('errors.messages.invalid')
18
+ end
19
+ end
20
+
21
+ private
22
+
23
+ # 電話番号として妥当かどうかのチェック
24
+ def validate_tel(record, value)
25
+ # 全角・半角とわず数字とハイフンの構成であれば良しとしている
26
+ value.match(/^[0-9|0-9]+[-|-]?[0-9|0-9]+[-|-]?[0-9|0-9]+$/)
27
+ end
28
+ end
@@ -0,0 +1,30 @@
1
+ class UrlValidator < ActiveModel::EachValidator
2
+
3
+ def initialize(options = {})
4
+ super(options)
5
+ if options.key?(:with_schema)
6
+ @with_schema = options[:with_schema]
7
+ else
8
+ @with_schema = true
9
+ end
10
+ end
11
+
12
+ def validate_each(record, attribute, value)
13
+ begin
14
+ URI.parse(value)
15
+ rescue URI::InvalidURIError
16
+ record.errors[attribute] << (options[:message] || "はURLとして正しくありません。")
17
+ return
18
+ end
19
+
20
+ if @with_schema
21
+ unless value.start_with?('http://') or value.start_with?('https://')
22
+ record.errors[attribute] << (options[:message] || "は http:// または https:// から始めてください。")
23
+ end
24
+ else
25
+ if value.start_with?('http://') or value.start_with?('https://')
26
+ record.errors[attribute] << (options[:message] || "は http:// または https:// を含めないでください。")
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,35 @@
1
+ class ZipValidator < ActiveModel::EachValidator
2
+
3
+ def initialize(options = {})
4
+ super(options)
5
+ @other = options[:other]
6
+ end
7
+
8
+ def validate_each(record, attribute, value)
9
+ zip1 = value
10
+ zip2 = get_other_value(record)
11
+
12
+ return if (zip1.nil? or zip1.empty?) and (zip2.nil? or zip2.empty?)
13
+
14
+ unless validate_zip(zip1, zip2)
15
+ record.errors[attribute] << I18n.t('errors.messages.zip')
16
+ return
17
+ end
18
+ end
19
+
20
+ private
21
+
22
+ def validate_zip(zip1, zip2)
23
+ return false unless zip1
24
+ return false unless zip1.match(/^[0-9|0-9]{3}$/)
25
+
26
+ return false unless zip2
27
+ return false unless zip2.match(/^[0-9|0-9]{4}$/)
28
+
29
+ true
30
+ end
31
+
32
+ def get_other_value(record)
33
+ record.__send__(@other)
34
+ end
35
+ end