dekiru 0.3.2 → 0.4.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 806c362e73ef549da508408522642036437b75425db706c4a71778e4385a2f50
4
- data.tar.gz: 61ee9f806a3f98ec64fe6a483445f2c0b1d283b4f17603f20aa503a5abdec069
3
+ metadata.gz: dbfeff250b0e1ec21cc8ed1f4ccf284ac5430ad41be129f0f04a6fa73b6f36b7
4
+ data.tar.gz: dc7557d4f6a91491fad5cd70d938a0050e8b98405ded870825564ee037401156
5
5
  SHA512:
6
- metadata.gz: dd0af03fd78a56207dfb6f4c7f51c28f6935dc2aa063381100c1732986d67cd332180ba847bea0ca185de24c4db018e02387863cb5b6409092c781e13ca9a139
7
- data.tar.gz: c690b539e8052ece4b46ec981760e2c05e91e43df428453181abc03a2f3529082913192d8f7d37f56cf631bbc83f0a2b3f483e61100a596b2ba60b44a1f42e40
6
+ metadata.gz: 447ab174db16c187dab03db7ecef25d217036ea688442c5594dd0d82382cde3bf2ce10e6e7fb27382b6f9702d4c7292fe01c583f7055cd365921f1bf97d4f1ed
7
+ data.tar.gz: 723725e05e52c1beef024d39787c2dd5c834b14e1c5c7d18374c0dea57c4bf6441c1e618d8287c5bb44210865ea9b7d63eb554486f5293fa19c78f9a7e280d92
@@ -12,7 +12,7 @@ module Dekiru
12
12
  @title = title
13
13
  @options = options
14
14
  @stream = @options.fetch(:output, $stdout)
15
- @without_transaction = @options.fetch(:without_transaction, true)
15
+ @without_transaction = @options.fetch(:without_transaction, false)
16
16
  @side_effects = Hash.new do |hash, key|
17
17
  hash[key] = Hash.new(0)
18
18
  end
@@ -122,7 +122,7 @@ module Dekiru
122
122
  end
123
123
 
124
124
  def run(&block)
125
- if @options[:warning_side_effects]
125
+ if @options.fetch(:warning_side_effects, true)
126
126
  warning_side_effects(&block)
127
127
  else
128
128
  instance_eval(&block)
data/lib/dekiru/helper.rb CHANGED
@@ -1,82 +1,8 @@
1
1
  module Dekiru
2
2
  module Helper
3
- def menu_link_to(name = nil, options = nil, html_options = nil, &block)
4
- ActiveSupport::Deprecation.warn('`menu_link_to` is deprecated and will be removed in v0.4.')
5
-
6
- args = [name, options, html_options]
7
- html_options, options, name = options, name, block if block_given?
8
-
9
- classes = html_options.try(:delete, :li_class).try(:split, ' ') || []
10
- classes << 'active' if current_page?(options)
11
-
12
- obj = [options].flatten.last
13
- if obj.is_a?(ActiveRecord::Base)
14
- content_tag_for(:li, obj, :class => classes.join(' ')) do
15
- link_to name, options, html_options, &block
16
- end
17
- else
18
- content_tag(:li, :class => classes.join(' ')) do
19
- link_to *args, &block
20
- end
21
- end
22
- end
23
-
24
3
  def null_check_localization(object, **options)
25
4
  localize(object, **options) if object.present?
26
5
  end
27
6
  alias nl null_check_localization
28
-
29
- def facebook_like(url = url_for(only_path: false), app_id = nil, width = 140)
30
- ActiveSupport::Deprecation.warn('`facebook_like` is deprecated and will be removed in v0.4.')
31
-
32
- facebook_app_id = app_id || ENV['FACEBOOK_APP_ID']
33
- html = %Q(<iframe src="//www.facebook.com/plugins/like.php?href=#{u(url)}&amp;send=false&amp;layout=button_count&amp;width=140&amp;show_faces=false&amp;action=like&amp;colorscheme=light&amp;font=arial&amp;height=21&amp;appId=#{facebook_app_id}" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:#{width}px; height:21px;" allowTransparency="true"></iframe>)
34
- html.html_safe
35
- end
36
-
37
- def twitter_tweet
38
- ActiveSupport::Deprecation.warn('`twitter_tweet` is deprecated and will be removed in v0.4.')
39
-
40
- html = <<-EOF
41
- <a href="https://twitter.com/share" class="twitter-share-button">Tweet</a>
42
- <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
43
- EOF
44
- html.html_safe
45
- end
46
-
47
- def google_plus
48
- ActiveSupport::Deprecation.warn('`google_plus` is deprecated and will be removed in v0.4.')
49
-
50
- html = <<-EOF
51
- <script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script>
52
- <g:plusone size="medium"></g:plusone>
53
- EOF
54
- html.html_safe
55
- end
56
-
57
- def google_analytics(code, options = {})
58
- ActiveSupport::Deprecation.warn('`google_analytics` is deprecated and will be removed in v0.4.')
59
-
60
- if code.present? && ::Rails.env == 'production'
61
- multi_subdomain = if options[:domain]
62
- "_gaq.push(['_setDomainName', '#{options[:domain]}']);"
63
- end
64
-
65
- html = <<-EOF
66
- <script type="text/javascript">
67
- var _gaq = _gaq || [];
68
- _gaq.push(['_setAccount', '#{code}']);
69
- #{multi_subdomain}
70
- _gaq.push(['_trackPageview']);
71
- (function() {
72
- var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
73
- ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
74
- var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
75
- })();
76
- </script>
77
- EOF
78
- html.html_safe
79
- end
80
- end
81
7
  end
82
8
  end
@@ -4,10 +4,6 @@ module Dekiru
4
4
  ActiveSupport.on_load(:action_view) do
5
5
  ::ActionView::Base.send :include, Dekiru::Helper
6
6
  end
7
-
8
- ActiveSupport.on_load(:action_controller) do
9
- ::ActionController::Base.send :include, Dekiru::ControllerAdditions
10
- end
11
7
  end
12
8
 
13
9
  config.after_initialize do
@@ -19,7 +15,6 @@ module Dekiru
19
15
  end
20
16
 
21
17
  rake_tasks do
22
- load 'dekiru/tasks/smtp_check.rake'
23
18
  load 'dekiru/tasks/db.rake'
24
19
  end
25
20
  end
@@ -8,6 +8,8 @@ module ActiveModel
8
8
  module Validations
9
9
  class ExistenceValidator < EachValidator
10
10
  def validate_each(record, attribute, value)
11
+ ActiveSupport::Deprecation.warn('`ExistenceValidator` is deprecated and will be removed in v0.5. Please use `inclusion: { in: xx }` instead.')
12
+
11
13
  unless exists?(record, value)
12
14
  record.errors.add(attribute, :existence, **options.except(:in).merge!(value: value))
13
15
  end
@@ -1,3 +1,3 @@
1
1
  module Dekiru
2
- VERSION = '0.3.2'
2
+ VERSION = '0.4.0'
3
3
  end
data/lib/dekiru.rb CHANGED
@@ -1,7 +1,6 @@
1
1
  require 'dekiru/version'
2
2
  require 'dekiru/railtie' if defined?(::Rails)
3
3
  require 'dekiru/helper'
4
- require 'dekiru/controller_additions'
5
4
  require 'dekiru/validators/existence'
6
5
  require 'dekiru/data_migration_operator'
7
6
  require 'dekiru/mail_security_interceptor'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dekiru
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Akihiro Matsumura
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-07-15 00:00:00.000000000 Z
11
+ date: 2022-09-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: http_accept_language
@@ -143,15 +143,12 @@ files:
143
143
  - lib/dekiru/capybara/helpers/wait_for_position_stable.rb
144
144
  - lib/dekiru/capybara/legacy_helpers.rb
145
145
  - lib/dekiru/capybara/matchers.rb
146
- - lib/dekiru/controller_additions.rb
147
146
  - lib/dekiru/data_migration_operator.rb
148
147
  - lib/dekiru/helper.rb
149
148
  - lib/dekiru/mail_security_interceptor.rb
150
149
  - lib/dekiru/railtie.rb
151
- - lib/dekiru/smtp_check_mailer.rb
152
150
  - lib/dekiru/task_with_logger.rb
153
151
  - lib/dekiru/tasks/db.rake
154
- - lib/dekiru/tasks/smtp_check.rake
155
152
  - lib/dekiru/validators/existence.rb
156
153
  - lib/dekiru/version.rb
157
154
  - lib/generators/maintenance_script/USAGE
@@ -159,7 +156,6 @@ files:
159
156
  - lib/generators/maintenance_script/templates/maintenance_script.rb.erb
160
157
  - spec/dekiru/camelize_hash_spec.rb
161
158
  - spec/dekiru/data_migration_operator_spec.rb
162
- - spec/dekiru/helper_spec.rb
163
159
  - spec/dekiru/mail_security_interceptor_spec.rb
164
160
  - spec/dekiru/validators/existence_spec.rb
165
161
  - spec/spec_helper.rb
@@ -190,7 +186,6 @@ summary: Usefull helper methods for Ruby on Rails
190
186
  test_files:
191
187
  - spec/dekiru/camelize_hash_spec.rb
192
188
  - spec/dekiru/data_migration_operator_spec.rb
193
- - spec/dekiru/helper_spec.rb
194
189
  - spec/dekiru/mail_security_interceptor_spec.rb
195
190
  - spec/dekiru/validators/existence_spec.rb
196
191
  - spec/spec_helper.rb
@@ -1,25 +0,0 @@
1
- require 'http_accept_language'
2
-
3
- module Dekiru
4
- module ControllerAdditions
5
- def set_locale
6
- ActiveSupport::Deprecation.warn('`set_locale` is deprecated and will be removed in v0.4.')
7
-
8
- I18n.locale = locale_from_params || locale_from_header
9
- logger.info "[locale] #{I18n.locale}"
10
- end
11
-
12
- def locale_from_params
13
- ActiveSupport::Deprecation.warn('`locale_from_params` is deprecated and will be removed in v0.4.')
14
-
15
- (I18n.available_locales & [params[:locale].try(:to_sym)]).first
16
- end
17
-
18
- def locale_from_header
19
- ActiveSupport::Deprecation.warn('`locale_from_header` is deprecated and will be removed in v0.4.')
20
-
21
- logger.debug "[debug] #{http_accept_language.user_preferred_languages}"
22
- http_accept_language.compatible_language_from(I18n.available_locales)
23
- end
24
- end
25
- end
@@ -1,20 +0,0 @@
1
- module Dekiru
2
- class SmtpCheckMailer < ActionMailer::Base
3
- default from: 'smtp-checker@sonicgarden.jp'
4
-
5
- def checkmail
6
- app_key = ENV['SMTP_CHECKER_APP_KEY'] || Rails.application.class.parent_name.downcase
7
- smtp_checker_to_addr = ENV['SMTP_CHECKER_TO_ADDR'] || 'smtp-alive@sg-ops-mail.sonicgarden.jp'
8
-
9
- Rails.logger.error "ENV['SMTP_CHECKER_APP_KEY'] undefined!" if app_key.blank?
10
- Rails.logger.error "ENV['SMTP_CHECKER_TO_ADDR'] undefined!" if smtp_checker_to_addr.blank?
11
-
12
- Rails.logger.info "checkmail send start #{smtp_checker_to_addr} key:#{app_key}"
13
- subject = '[SMTP Checker] SMTP Check Mail'
14
- mail to: smtp_checker_to_addr, subject: subject do |format|
15
- format.text { render plain: app_key }
16
- end
17
- Rails.logger.info "send to #{smtp_checker_to_addr} key:#{app_key}"
18
- end
19
- end
20
- end
@@ -1,10 +0,0 @@
1
- require "dekiru/smtp_check_mailer"
2
-
3
- namespace :dekiru do
4
- desc 'Ops check for smpt alival'
5
- task smtp_check: :environment do
6
- Rails.logger.info "[INFO] Start task dekiru:smtp_check env:#{Rails.env}"
7
- Dekiru::SmtpCheckMailer.checkmail.deliver
8
- Rails.logger.info "[INFO] End task dekiru:smtp_check env:#{Rails.env}"
9
- end
10
- end
@@ -1,49 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe Dekiru::Helper do
4
- let(:helper) do
5
- class AClass
6
- include Dekiru::Helper
7
- include ActionView::Helpers::TagHelper
8
- include ActionView::Context
9
- include ActionView::Helpers::UrlHelper
10
- end
11
- a = AClass.new
12
- end
13
- describe "#menu_link_to" do
14
- before do
15
- allow(helper).to receive(:current_page?).and_return(true)
16
- end
17
- context "一番シンプルな呼び出し" do
18
- it "動くこと" do
19
- expect(helper.menu_link_to("テキスト", "/some_path")).to eq("<li class=\"active\"><a href=\"/some_path\">テキスト</a></li>")
20
- end
21
- end
22
- context "blockなし" do
23
- it "動くこと" do
24
- expect(helper.menu_link_to("テキスト", "/some_path", class: "some_class")).to eq("<li class=\"active\"><a class=\"some_class\" href=\"/some_path\">テキスト</a></li>")
25
- end
26
- end
27
- context "blockあり" do
28
- it "動くこと" do
29
- html = helper.menu_link_to("/some_path", class: "some_class") do
30
- "テキスト"
31
- end
32
- expect(html).to eq("<li class=\"active\"><a class=\"some_class\" href=\"/some_path\">テキスト</a></li>")
33
- end
34
- end
35
- context "今のページじゃない" do
36
- before do
37
- allow(helper).to receive(:current_page?).and_return(false)
38
- end
39
- it "動くこと" do
40
- expect(helper.menu_link_to("テキスト", "/some_path", class: "some_class")).to eq("<li class=\"\"><a class=\"some_class\" href=\"/some_path\">テキスト</a></li>")
41
- end
42
- end
43
- context "li_class指定あり" do
44
- it "動くこと" do
45
- expect(helper.menu_link_to("テキスト", "/some_path", class: "some_class", li_class: "li_class")).to eq("<li class=\"li_class active\"><a class=\"some_class\" href=\"/some_path\">テキスト</a></li>")
46
- end
47
- end
48
- end
49
- end