spree_order_message 0.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 (35) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/ci.yml +49 -0
  3. data/.gitignore +26 -0
  4. data/.rspec +3 -0
  5. data/Gemfile +12 -0
  6. data/LICENSE +26 -0
  7. data/README.md +60 -0
  8. data/Rakefile +21 -0
  9. data/app/.gitkeep +0 -0
  10. data/app/controllers/.gitkeep +0 -0
  11. data/app/controllers/spree_order_message/admin/orders_controller_decorator.rb +8 -0
  12. data/app/models/.gitkeep +0 -0
  13. data/app/models/spree/order_message.rb +7 -0
  14. data/app/models/spree_order_message/configuration.rb +13 -0
  15. data/app/models/spree_order_message/spree/order_decorator.rb +13 -0
  16. data/app/overrides/admin/orders/order_message.rb +6 -0
  17. data/app/serializers/.gitkeep +0 -0
  18. data/app/serializers/spree/v2/storefront/order_message_serializer.rb +11 -0
  19. data/app/serializers/spree_order_message/v2/storefront/cart_serializer_decorator.rb +7 -0
  20. data/app/services/.gitkeep +0 -0
  21. data/app/views/spree/admin/orders/order_message.html.erb +10 -0
  22. data/app/views/spree/admin/shared/_order_tabs_order_message.html.erb +8 -0
  23. data/bin/rails +8 -0
  24. data/config/initializers/spree.rb +1 -0
  25. data/config/locales/en.yml +12 -0
  26. data/config/locales/ja.yml +12 -0
  27. data/config/routes.rb +9 -0
  28. data/db/migrate/20211123114039_create_spree_order_messages.rb +9 -0
  29. data/lib/generators/spree_order_message/install/install_generator.rb +20 -0
  30. data/lib/spree_order_message/engine.rb +24 -0
  31. data/lib/spree_order_message/factories.rb +6 -0
  32. data/lib/spree_order_message/version.rb +11 -0
  33. data/lib/spree_order_message.rb +4 -0
  34. data/spree_order_message.gemspec +38 -0
  35. metadata +202 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 4ad47f85d2231a7e7da59092501de115c4bd15d589721c95cb3ac39b7d4f40ec
4
+ data.tar.gz: f1df44cff6b1fa6ed2d1d39ad0f3b0224ce712c731089ca6c9fb89545382d93c
5
+ SHA512:
6
+ metadata.gz: 0bad1886a528fdd07c15c6f7c060bfa85066364fb4dd5114b005ded14659431efc70762286c6f95cf2462e146a4cb50af3c6a4e4c068101921d756fe12b548dc
7
+ data.tar.gz: 24cd1ffa09cd3bfde6f49dd75b8a61613c897792735ef80671c3f01725ca47e4dfb8c4521548e37819aa3d76234da3fa0c27e3ed879b64d3e84e40d1e95f36d0
@@ -0,0 +1,49 @@
1
+ name: ci
2
+
3
+ on: push
4
+
5
+ jobs:
6
+ ci:
7
+ runs-on: ubuntu-latest
8
+ timeout-minutes: 30
9
+ env:
10
+ DB: mysql
11
+ DATABASE_HOST: 0.0.0.0
12
+ DATABASE_PASSWORD: mysql123
13
+ RAILS_ENV: test
14
+ REDIS_URL: redis://0.0.0.0:6379
15
+ TZ: Asia/Tokyo
16
+
17
+ services:
18
+ mysql:
19
+ image: mysql:8.0.23
20
+ options: --health-cmd "mysqladmin ping -h localhost" --health-interval 20s --health-timeout 10s --health-retries 10
21
+ env:
22
+ MYSQL_ROOT_PASSWORD: mysql123
23
+ ports:
24
+ - 3306:3306
25
+ redis:
26
+ image: redis:6.2-alpine
27
+ options: --health-cmd "redis-cli -h localhost ping" --health-interval 10s --health-timeout 5s --health-retries 15
28
+ ports:
29
+ - 6379:6379
30
+
31
+ steps:
32
+ - uses: actions/checkout@v2
33
+ - name: Install libvips-dev
34
+ run: |
35
+ sudo apt update
36
+ sudo apt install -y libvips-dev
37
+ - uses: ruby/setup-ruby@v1
38
+ with:
39
+ bundler-cache: true
40
+ ruby-version: '3.1.0'
41
+
42
+ - name: Exec tests 👚
43
+ env:
44
+ DB_HOST: 127.0.0.1
45
+ DB_PASSWORD: ${{ env.DATABASE_PASSWORD }}
46
+ DB_USERNAME: root
47
+ run: |
48
+ bundle exec rake test_app
49
+ bundle exec rake spec
data/.gitignore ADDED
@@ -0,0 +1,26 @@
1
+ \#*
2
+ *~
3
+ .#*
4
+ .DS_Store
5
+ .idea
6
+ .localeapp/locales
7
+ .project
8
+ .vscode
9
+ coverage
10
+ default
11
+ Gemfile.lock
12
+ tmp
13
+ nbproject
14
+ pkg
15
+ *.sw?
16
+ spec/dummy
17
+ .rvmrc
18
+ .sass-cache
19
+ public/spree
20
+ .ruby-version
21
+ .ruby-gemset
22
+ *.gem
23
+ */*.gem
24
+ .bundle
25
+ vendor/bundle
26
+ .env
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --color
2
+ -r spec_helper
3
+ -f documentation
data/Gemfile ADDED
@@ -0,0 +1,12 @@
1
+ source 'https://rubygems.org'
2
+
3
+ git_source(:github) do |repo_name|
4
+ repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?('/')
5
+ "https://github.com/#{repo_name}.git"
6
+ end
7
+
8
+ gem 'spree' #, github: 'spree/spree', branch: 'main'
9
+ # gem 'spree_backend', github: 'spree/spree', branch: 'main'
10
+ gem 'rails-controller-testing'
11
+
12
+ gemspec
data/LICENSE ADDED
@@ -0,0 +1,26 @@
1
+ Copyright (c) 2022 ROUTE06, Inc.
2
+ All rights reserved.
3
+
4
+ Redistribution and use in source and binary forms, with or without modification,
5
+ are permitted provided that the following conditions are met:
6
+
7
+ * Redistributions of source code must retain the above copyright notice,
8
+ this list of conditions and the following disclaimer.
9
+ * Redistributions in binary form must reproduce the above copyright notice,
10
+ this list of conditions and the following disclaimer in the documentation
11
+ and/or other materials provided with the distribution.
12
+ * Neither the name Spree nor the names of its contributors may be used to
13
+ endorse or promote products derived from this software without specific
14
+ prior written permission.
15
+
16
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
17
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
18
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
19
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
20
+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
21
+ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
22
+ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
23
+ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
24
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
25
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
data/README.md ADDED
@@ -0,0 +1,60 @@
1
+ # SpreeOrderMessage
2
+
3
+ A Spree extension that implement order message
4
+
5
+ ## Installation
6
+
7
+ 1. Add this extension to your Gemfile with this line:
8
+
9
+ ```ruby
10
+ gem 'spree_order_message'
11
+ ```
12
+
13
+ 2. Install the gem using Bundler
14
+
15
+ ```ruby
16
+ bundle install
17
+ ```
18
+
19
+ 3. Copy & run migrations
20
+
21
+ ```ruby
22
+ bundle exec rails g spree_order_message:install
23
+ ```
24
+
25
+ 4. Restart your server
26
+
27
+ If your server was running, restart it so that it can find the assets properly.
28
+
29
+ ## Testing
30
+
31
+ First bundle your dependencies, then run `rake`. `rake` will default to building the dummy app if it does not exist, then it will run specs. The dummy app can be regenerated by using `rake test_app`.
32
+
33
+ ```shell
34
+ bundle update
35
+ bundle exec rake
36
+ ```
37
+
38
+ When testing your applications integration with this extension you may use it's factories.
39
+ Simply add this require statement to your spec_helper:
40
+
41
+ ```ruby
42
+ require 'spree_order_message/factories'
43
+ ```
44
+
45
+ ## Releasing
46
+
47
+ ```shell
48
+ bundle exec gem bump -p -t
49
+ bundle exec gem release
50
+ ```
51
+
52
+ For more options please see [gem-release REAMDE](https://github.com/svenfuchs/gem-release)
53
+
54
+ ## Contributing
55
+
56
+ If you'd like to contribute, please take a look at the
57
+ [instructions](CONTRIBUTING.md) for installing dependencies and crafting a good
58
+ pull request.
59
+
60
+ Copyright (c) 2022 ROUTE06, Inc., released under the New BSD License
data/Rakefile ADDED
@@ -0,0 +1,21 @@
1
+ require 'bundler'
2
+ Bundler::GemHelper.install_tasks
3
+
4
+ require 'rspec/core/rake_task'
5
+ require 'spree/testing_support/extension_rake'
6
+
7
+ RSpec::Core::RakeTask.new
8
+
9
+ task :default do
10
+ if Dir['spec/dummy'].empty?
11
+ Rake::Task[:test_app].invoke
12
+ Dir.chdir('../../')
13
+ end
14
+ Rake::Task[:spec].invoke
15
+ end
16
+
17
+ desc 'Generates a dummy app for testing'
18
+ task :test_app do
19
+ ENV['LIB_NAME'] = 'spree_order_message'
20
+ Rake::Task['extension:test_app'].invoke
21
+ end
data/app/.gitkeep ADDED
File without changes
File without changes
@@ -0,0 +1,8 @@
1
+ # @see https://github.com/spree/spree/blob/v4.3.0/backend/app/controllers/spree/admin/orders_controller.rb
2
+ module SpreeOrderMessage::Admin::OrdersControllerDecorator
3
+ def order_message
4
+ load_order
5
+ end
6
+ end
7
+
8
+ Spree::Admin::OrdersController.prepend(SpreeOrderMessage::Admin::OrdersControllerDecorator) unless Spree::Admin::OrdersController.included_modules.include?(SpreeOrderMessage::Admin::OrdersControllerDecorator)
File without changes
@@ -0,0 +1,7 @@
1
+ module Spree
2
+ class OrderMessage < ApplicationRecord
3
+ belongs_to :order, class_name: 'Spree::Order'
4
+
5
+ validates :content, length: { maximum: 300 }
6
+ end
7
+ end
@@ -0,0 +1,13 @@
1
+ module SpreeOrderMessage
2
+ class Configuration < Spree::Preferences::Configuration
3
+
4
+ # Some example preferences are shown below, for more information visit:
5
+ # https://dev-docs.spreecommerce.org/internals/preferences
6
+
7
+ preference :enabled, :boolean, default: true
8
+ # preference :dark_chocolate, :boolean, default: true
9
+ # preference :color, :string, default: 'Red'
10
+ # preference :favorite_number, :integer
11
+ # preference :supported_locales, :array, default: [:en]
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ module SpreeOrderMessage
2
+ module Spree
3
+ module OrderDecorator
4
+ def self.prepended(base)
5
+ base.has_one :order_message, class_name: 'Spree::OrderMessage', dependent: :destroy
6
+ base.accepts_nested_attributes_for :order_message
7
+ base.insert_checkout_step :order_message, before: :address
8
+ end
9
+ end
10
+ end
11
+ end
12
+
13
+ Spree::Order.prepend(SpreeOrderMessage::Spree::OrderDecorator) unless Spree::Order.included_modules.include?(SpreeOrderMessage::Spree::OrderDecorator)
@@ -0,0 +1,6 @@
1
+ Deface::Override.new(
2
+ virtual_path: 'spree/admin/shared/_order_tabs',
3
+ name: 'add_order_message',
4
+ insert_bottom: '[data-hook="admin_order_tabs"]',
5
+ partial: 'spree/admin/shared/order_tabs_order_message',
6
+ )
File without changes
@@ -0,0 +1,11 @@
1
+ module Spree
2
+ module V2
3
+ module Storefront
4
+ class OrderMessageSerializer < BaseSerializer
5
+ set_type :order_message
6
+
7
+ attributes :content
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,7 @@
1
+ module SpreeOrderMessage::V2::Storefront::CartSerializerDecorator
2
+ def self.prepended(base)
3
+ base.has_one :order_message
4
+ end
5
+ end
6
+
7
+ Spree::V2::Storefront::CartSerializer.prepend(SpreeOrderMessage::V2::Storefront::CartSerializerDecorator) if Spree::V2::Storefront::CartSerializer.included_modules.exclude?(SpreeOrderMessage::V2::Storefront::CartSerializerDecorator)
File without changes
@@ -0,0 +1,10 @@
1
+ <%= render 'spree/admin/shared/order_tabs', current: :order_message %>
2
+
3
+ <div data-hook="admin_order_edit_header">
4
+ <%= render 'spree/admin/shared/error_messages', target: @order %>
5
+ </div>
6
+
7
+ <div>
8
+ <label><%= Spree::OrderMessage.human_attribute_name(:content) %></label>
9
+ <textarea disabled=true rows="10" class="form-control"><%= @order.order_message&.content %></textarea>
10
+ </div>
@@ -0,0 +1,8 @@
1
+ <% if can? :update, Spree::OrderMessage %>
2
+ <li>
3
+ <%= link_to_with_icon 'save.svg',
4
+ Spree::OrderMessage.model_name.human,
5
+ spree.order_message_admin_order_path(@order),
6
+ class: "#{'active' if current == :order_message} nav-link" %>
7
+ </li>
8
+ <% end %>
data/bin/rails ADDED
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env ruby
2
+ # This command will automatically be run when you run "rails" from the root of your extension
3
+
4
+ ENGINE_ROOT = File.expand_path('../..', __FILE__)
5
+ ENGINE_PATH = File.expand_path('../../lib/spree_order_message/engine', __FILE__)
6
+
7
+ require 'rails/all'
8
+ require 'rails/engine/commands'
@@ -0,0 +1 @@
1
+ Spree::PermittedAttributes.checkout_attributes << { order_message_attributes: [:content] }
@@ -0,0 +1,12 @@
1
+ en:
2
+ activerecord:
3
+ attributes:
4
+ spree/order_message:
5
+ content: "Content"
6
+ models:
7
+ spree/order_message:
8
+ one: "Message"
9
+ other: "Messages"
10
+ spree:
11
+ order_state:
12
+ order_message: "Message"
@@ -0,0 +1,12 @@
1
+ ja:
2
+ activerecord:
3
+ attributes:
4
+ spree/order_message:
5
+ content: "本文"
6
+ models:
7
+ spree/order_message:
8
+ one: "メッセージ"
9
+ other: "メッセージ"
10
+ spree:
11
+ order_state:
12
+ order_message: "メッセージ"
data/config/routes.rb ADDED
@@ -0,0 +1,9 @@
1
+ Spree::Core::Engine.add_routes do
2
+ namespace :admin, path: Spree.admin_path do
3
+ resources :orders, except: [:show] do
4
+ member do
5
+ get :order_message
6
+ end
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ class CreateSpreeOrderMessages < ActiveRecord::Migration[6.1]
2
+ def change
3
+ create_table :spree_order_messages do |t|
4
+ t.references :order, type: :integer, index: { unique: true }, null: false
5
+ t.text :content
6
+ t.timestamps
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,20 @@
1
+ module SpreeOrderMessage
2
+ module Generators
3
+ class InstallGenerator < Rails::Generators::Base
4
+ class_option :migrate, type: :boolean, default: true
5
+
6
+ def add_migrations
7
+ run 'bundle exec rake railties:install:migrations FROM=spree_order_message'
8
+ end
9
+
10
+ def run_migrations
11
+ run_migrations = options[:migrate] || ['', 'y', 'Y'].include?(ask('Would you like to run the migrations now? [Y/n]'))
12
+ if run_migrations
13
+ run 'bundle exec rails db:migrate'
14
+ else
15
+ puts 'Skipping rails db:migrate, don\'t forget to run it!'
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,24 @@
1
+ module SpreeOrderMessage
2
+ class Engine < Rails::Engine
3
+ require 'spree/core'
4
+ isolate_namespace Spree
5
+ engine_name 'spree_order_message'
6
+
7
+ # use rspec for tests
8
+ config.generators do |g|
9
+ g.test_framework :rspec
10
+ end
11
+
12
+ initializer 'spree_order_message.environment', before: :load_config_initializers do |_app|
13
+ SpreeOrderMessage::Config = SpreeOrderMessage::Configuration.new
14
+ end
15
+
16
+ def self.activate
17
+ Dir.glob(File.join(File.dirname(__FILE__), '../../app/**/*_decorator*.rb')) do |c|
18
+ Rails.configuration.cache_classes ? require(c) : load(c)
19
+ end
20
+ end
21
+
22
+ config.to_prepare(&method(:activate).to_proc)
23
+ end
24
+ end
@@ -0,0 +1,6 @@
1
+ FactoryBot.define do
2
+ # Define your Spree extensions Factories within this file to enable applications, and other extensions to use and override them.
3
+ #
4
+ # Example adding this to your spec_helper will load these Factories for use:
5
+ # require 'spree_order_message/factories'
6
+ end
@@ -0,0 +1,11 @@
1
+ module SpreeOrderMessage
2
+ VERSION = '0.0.1'.freeze
3
+
4
+ module_function
5
+
6
+ # Returns the version of the currently loaded SpreeOrderMessage as a
7
+ # <tt>Gem::Version</tt>.
8
+ def version
9
+ Gem::Version.new VERSION
10
+ end
11
+ end
@@ -0,0 +1,4 @@
1
+ require 'spree_core'
2
+ require 'spree_extension'
3
+ require 'spree_order_message/engine'
4
+ require 'spree_order_message/version'
@@ -0,0 +1,38 @@
1
+ # encoding: UTF-8
2
+ lib = File.expand_path('../lib/', __FILE__)
3
+ $LOAD_PATH.unshift lib unless $LOAD_PATH.include?(lib)
4
+
5
+ require 'spree_order_message/version'
6
+
7
+ Gem::Specification.new do |s|
8
+ s.platform = Gem::Platform::RUBY
9
+ s.name = 'spree_order_message'
10
+ s.version = SpreeOrderMessage.version
11
+ s.summary = 'A Spree extension that implement order message'
12
+ s.description = ''
13
+ s.required_ruby_version = '>= 2.5'
14
+
15
+ s.author = 'ROUTE06'
16
+ s.email = 'development+rubygems@route06.co.jp'
17
+ s.homepage = 'https://github.com/route06/spree_order_message'
18
+ s.license = 'BSD-3-Clause'
19
+
20
+ s.files = `git ls-files`.split("\n").reject { |f| f.match(/^spec/) && !f.match(/^spec\/fixtures/) }
21
+ s.require_path = 'lib'
22
+ s.requirements << 'none'
23
+
24
+ s.add_dependency 'spree', '>= 4.3.0'
25
+ s.add_dependency 'spree_backend'
26
+ s.add_dependency 'spree_extension'
27
+
28
+ s.add_dependency 'deface'
29
+
30
+ s.add_development_dependency 'spree_dev_tools'
31
+ s.add_development_dependency 'shoulda-matchers'
32
+ s.add_development_dependency 'mysql2'
33
+
34
+ # net-smtp, net-imap and net-pop were removed from default gems in Ruby 3.1, but is used by the `mail` gem.
35
+ s.add_development_dependency 'net-smtp'
36
+ # needed for running rspec
37
+ s.add_development_dependency 'actionmailer'
38
+ end
metadata ADDED
@@ -0,0 +1,202 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: spree_order_message
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - ROUTE06
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2022-01-21 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: spree
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 4.3.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: 4.3.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: spree_backend
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: spree_extension
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: deface
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: spree_dev_tools
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: shoulda-matchers
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: mysql2
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: net-smtp
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: actionmailer
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ description: ''
140
+ email: development+rubygems@route06.co.jp
141
+ executables: []
142
+ extensions: []
143
+ extra_rdoc_files: []
144
+ files:
145
+ - ".github/workflows/ci.yml"
146
+ - ".gitignore"
147
+ - ".rspec"
148
+ - Gemfile
149
+ - LICENSE
150
+ - README.md
151
+ - Rakefile
152
+ - app/.gitkeep
153
+ - app/controllers/.gitkeep
154
+ - app/controllers/spree_order_message/admin/orders_controller_decorator.rb
155
+ - app/models/.gitkeep
156
+ - app/models/spree/order_message.rb
157
+ - app/models/spree_order_message/configuration.rb
158
+ - app/models/spree_order_message/spree/order_decorator.rb
159
+ - app/overrides/admin/orders/order_message.rb
160
+ - app/serializers/.gitkeep
161
+ - app/serializers/spree/v2/storefront/order_message_serializer.rb
162
+ - app/serializers/spree_order_message/v2/storefront/cart_serializer_decorator.rb
163
+ - app/services/.gitkeep
164
+ - app/views/spree/admin/orders/order_message.html.erb
165
+ - app/views/spree/admin/shared/_order_tabs_order_message.html.erb
166
+ - bin/rails
167
+ - config/initializers/spree.rb
168
+ - config/locales/en.yml
169
+ - config/locales/ja.yml
170
+ - config/routes.rb
171
+ - db/migrate/20211123114039_create_spree_order_messages.rb
172
+ - lib/generators/spree_order_message/install/install_generator.rb
173
+ - lib/spree_order_message.rb
174
+ - lib/spree_order_message/engine.rb
175
+ - lib/spree_order_message/factories.rb
176
+ - lib/spree_order_message/version.rb
177
+ - spree_order_message.gemspec
178
+ homepage: https://github.com/route06/spree_order_message
179
+ licenses:
180
+ - BSD-3-Clause
181
+ metadata: {}
182
+ post_install_message:
183
+ rdoc_options: []
184
+ require_paths:
185
+ - lib
186
+ required_ruby_version: !ruby/object:Gem::Requirement
187
+ requirements:
188
+ - - ">="
189
+ - !ruby/object:Gem::Version
190
+ version: '2.5'
191
+ required_rubygems_version: !ruby/object:Gem::Requirement
192
+ requirements:
193
+ - - ">="
194
+ - !ruby/object:Gem::Version
195
+ version: '0'
196
+ requirements:
197
+ - none
198
+ rubygems_version: 3.3.3
199
+ signing_key:
200
+ specification_version: 4
201
+ summary: A Spree extension that implement order message
202
+ test_files: []