ecm_opening_times 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 (34) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +28 -0
  4. data/Rakefile +26 -0
  5. data/app/assets/config/ecm_opening_times_manifest.js +2 -0
  6. data/app/assets/javascripts/ecm/opening_times/application.js +13 -0
  7. data/app/assets/stylesheets/ecm/opening_times/application.css +15 -0
  8. data/app/controllers/ecm/opening_times/application_controller.rb +6 -0
  9. data/app/controllers/ecm/opening_times/branches_controller.rb +14 -0
  10. data/app/helpers/ecm/opening_times/application_helper.rb +10 -0
  11. data/app/jobs/ecm/opening_times/application_job.rb +6 -0
  12. data/app/mailers/ecm/opening_times/application_mailer.rb +8 -0
  13. data/app/models/ecm/opening_times/application_record.rb +8 -0
  14. data/app/models/ecm/opening_times/branch.rb +34 -0
  15. data/app/models/ecm/opening_times/entry.rb +81 -0
  16. data/app/views/ecm/opening_times/branches/_branch.haml +3 -0
  17. data/app/views/ecm/opening_times/branches/_opening_times.haml +5 -0
  18. data/app/views/ecm/opening_times/branches/_opening_times_for_branch.haml +11 -0
  19. data/app/views/ecm/opening_times/branches/index.haml +3 -0
  20. data/app/views/layouts/ecm/opening_times/application.html.erb +14 -0
  21. data/config/locales/de.yml +39 -0
  22. data/config/locales/en.yml +39 -0
  23. data/config/routes.rb +9 -0
  24. data/db/migrate/20170813125535_create_ecm_opening_times_branches.rb +11 -0
  25. data/db/migrate/20170813133613_create_ecm_opening_times_entries.rb +18 -0
  26. data/lib/ecm/opening_times/configuration.rb +16 -0
  27. data/lib/ecm/opening_times/engine.rb +14 -0
  28. data/lib/ecm/opening_times/version.rb +5 -0
  29. data/lib/ecm_opening_times.rb +10 -0
  30. data/lib/generators/ecm/opening_times/install/install_generator.rb +21 -0
  31. data/lib/generators/ecm/opening_times/install/templates/initializer.rb +7 -0
  32. data/lib/generators/ecm/opening_times/install/templates/routes.source +2 -0
  33. data/lib/tasks/ecm_opening_times_tasks.rake +4 -0
  34. metadata +258 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: d717decdfd9313663fda699f26d7cc20016df2bd
4
+ data.tar.gz: 911d0d6c19b62fbf896754a801892ffdbe6d8910
5
+ SHA512:
6
+ metadata.gz: 828a552f7dcf9cccce71a2da8d8f90657039ab66bf6fb19a60708a7c85115ac841939ab4b64e8e1f5c477ac062f9216c2a905f688e12cab9783708269c8c0159
7
+ data.tar.gz: 9087a3f1a91a39d639fb66c73f570d3656f27cbf82765f441377091e6afa33c0a2f7c60235463d67894d197bfd483ff5c7174c40ce8d59545c47e915266282b7
data/MIT-LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright 2017 Roberto Vasquez Angel
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,28 @@
1
+ # Ecm::OpeningTimes
2
+ Short description and motivation.
3
+
4
+ ## Usage
5
+ How to use my plugin.
6
+
7
+ ## Installation
8
+ Add this line to your application's Gemfile:
9
+
10
+ ```ruby
11
+ gem 'ecm_opening_times'
12
+ ```
13
+
14
+ And then execute:
15
+ ```bash
16
+ $ bundle
17
+ ```
18
+
19
+ Or install it yourself as:
20
+ ```bash
21
+ $ gem install ecm_opening_times
22
+ ```
23
+
24
+ ## Contributing
25
+ Contribution directions go here.
26
+
27
+ ## License
28
+ The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
data/Rakefile ADDED
@@ -0,0 +1,26 @@
1
+ begin
2
+ require 'bundler/setup'
3
+ rescue LoadError
4
+ puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
5
+ end
6
+
7
+ require 'rdoc/task'
8
+
9
+ RDoc::Task.new(:rdoc) do |rdoc|
10
+ rdoc.rdoc_dir = 'rdoc'
11
+ rdoc.title = 'Ecm::OpeningTimes'
12
+ rdoc.options << '--line-numbers'
13
+ rdoc.rdoc_files.include('README.md')
14
+ rdoc.rdoc_files.include('lib/**/*.rb')
15
+ end
16
+
17
+ APP_RAKEFILE = File.expand_path("../spec/dummy/Rakefile", __FILE__)
18
+ load 'rails/tasks/engine.rake'
19
+
20
+
21
+ load 'rails/tasks/statistics.rake'
22
+
23
+
24
+
25
+ require 'bundler/gem_tasks'
26
+
@@ -0,0 +1,2 @@
1
+ //= link_directory ../javascripts/ecm/opening_times .js
2
+ //= link_directory ../stylesheets/ecm/opening_times .css
@@ -0,0 +1,13 @@
1
+ // This is a manifest file that'll be compiled into application.js, which will include all the files
2
+ // listed below.
3
+ //
4
+ // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
5
+ // or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path.
6
+ //
7
+ // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
8
+ // compiled file. JavaScript code in this file should be added after the last require_* statement.
9
+ //
10
+ // Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details
11
+ // about supported directives.
12
+ //
13
+ //= require_tree ./application
@@ -0,0 +1,15 @@
1
+ /*
2
+ * This is a manifest file that'll be compiled into application.css, which will include all the files
3
+ * listed below.
4
+ *
5
+ * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
6
+ * or any plugin's vendor/assets/stylesheets directory can be referenced here using a relative path.
7
+ *
8
+ * You're free to add application-wide styles to this file and they'll appear at the bottom of the
9
+ * compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS
10
+ * files in this directory. Styles in this file should be added after the last require_* statement.
11
+ * It is generally better to create a new file per style scope.
12
+ *
13
+ *= require_tree ./application
14
+ *= require_self
15
+ */
@@ -0,0 +1,6 @@
1
+ module Ecm
2
+ module OpeningTimes
3
+ class ApplicationController < Ecm::OpeningTimes::Configuration.base_controller.constantize
4
+ end
5
+ end
6
+ end
@@ -0,0 +1,14 @@
1
+ module Ecm
2
+ module OpeningTimes
3
+ class BranchesController < Ecm::OpeningTimes::ApplicationController
4
+ include Controller::ResourceConcern
5
+ include Controller::ResourceUrlsConcern
6
+ include Controller::ResourceInflectionsConcern
7
+ include Controller::RestActionsConcern
8
+
9
+ def self.resource_class
10
+ Ecm::OpeningTimes::Branch
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,10 @@
1
+ module Ecm
2
+ module OpeningTimes
3
+ module ApplicationHelper
4
+ def opening_times
5
+ @branches = Ecm::OpeningTimes::Branch.all
6
+ render partial: 'ecm/opening_times/branches/opening_times', locals: { branches: @branches }
7
+ end
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,6 @@
1
+ module Ecm
2
+ module OpeningTimes
3
+ class ApplicationJob < ActiveJob::Base
4
+ end
5
+ end
6
+ end
@@ -0,0 +1,8 @@
1
+ module Ecm
2
+ module OpeningTimes
3
+ class ApplicationMailer < ActionMailer::Base
4
+ default from: 'from@example.com'
5
+ layout 'mailer'
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ module Ecm
2
+ module OpeningTimes
3
+ class ApplicationRecord < ActiveRecord::Base
4
+ self.abstract_class = true
5
+ self.table_name_prefix = 'ecm_opening_times_'
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,34 @@
1
+ module Ecm::OpeningTimes
2
+ class Branch < ApplicationRecord
3
+ has_many :entries, inverse_of: :branch
4
+ accepts_nested_attributes_for :entries
5
+
6
+ acts_as_list
7
+ default_scope -> { order(:position) }
8
+
9
+ attr_readonly :identifier
10
+
11
+ validates :identifier, presence: true, uniqueness: true
12
+ validates :name, presence: true, uniqueness: true
13
+
14
+ def entries_by_weekday
15
+ weekdays.each_with_object({}) do |weekday, hash|
16
+ hash[weekday] = entries_for_weekday(weekday)
17
+ end
18
+ end
19
+
20
+ def entries_for_weekday(weekday)
21
+ entries.select { |entry| entry.send(weekday) }
22
+ end
23
+
24
+ def opening_times_for_weekday(weekday)
25
+ entries_for_weekday(weekday).map(&:opening_times)
26
+ end
27
+
28
+ private
29
+
30
+ def weekdays
31
+ [:monday, :tuesday, :wednesday, :thursday, :friday, :saturday, :sunday]
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,81 @@
1
+ module Ecm::OpeningTimes
2
+ class Entry < ApplicationRecord
3
+ DEFAULT_TIME_FORMAT = "%H:%M"
4
+
5
+ belongs_to :branch, inverse_of: :entries
6
+
7
+ validates :open_at, :close_at, presence: true
8
+
9
+ module Times
10
+ def default_time_format
11
+ DEFAULT_TIME_FORMAT
12
+ end
13
+
14
+ def open_at=(time)
15
+ if time.to_s =~ /([0-9]{2}):([0-9]{2})/
16
+ write_attribute(:open_at, _time_to_minutes_since_midnight($~[1], $~[2]))
17
+ else
18
+ super
19
+ end
20
+ end
21
+
22
+ def close_at=(time)
23
+ if time.to_s =~ /([0-9]{2}):([0-9]{2})/
24
+ write_attribute(:close_at, _time_to_minutes_since_midnight($~[1], $~[2]))
25
+ else
26
+ super
27
+ end
28
+ end
29
+
30
+ def open_at(format: default_time_format)
31
+ return nil if read_attribute(:open_at).nil?
32
+ if format.nil?
33
+ read_attribute(:open_at)
34
+ else
35
+ Time.at((read_attribute(:open_at) || 0) * 60).utc.strftime(format)
36
+ end
37
+ end
38
+
39
+ def close_at(format: default_time_format)
40
+ return nil if read_attribute(:close_at).nil?
41
+ if format.nil?
42
+ time = read_attribute(:close_at)
43
+ else
44
+ time = Time.at((read_attribute(:close_at) || 0) * 60).utc.strftime(format)
45
+ end
46
+ time == '00:00' ? '24:00' : time
47
+ end
48
+
49
+ def opening_times
50
+ if open_all_day?
51
+ { open_at: '00:00', close_at: '24:00' }
52
+ else
53
+ { open_at: open_at, close_at: close_at }
54
+ end
55
+ end
56
+
57
+ def open_all_day=(open_all_day)
58
+ if ActiveRecord::Type::Boolean.new.cast(open_all_day) == true
59
+ self.open_at = '00:00'
60
+ self.close_at = '24:00'
61
+ end
62
+ end
63
+
64
+ def open_all_day
65
+ open_at == '00:00' && close_at == '24:00'
66
+ end
67
+
68
+ def open_all_day?
69
+ open_all_day
70
+ end
71
+
72
+ private
73
+
74
+ def _time_to_minutes_since_midnight(hours, minutes)
75
+ (hours.to_i * 60) + minutes.to_i
76
+ end
77
+ end
78
+
79
+ prepend Times
80
+ end
81
+ end
@@ -0,0 +1,3 @@
1
+ %h2= branch.name
2
+
3
+ = render 'opening_times_for_branch', branch: branch
@@ -0,0 +1,5 @@
1
+ .opening-times
2
+ %h4= t('classes.ecm/opening_times/engine')
3
+ - branches.each do |branch|
4
+ %span= branch.name
5
+ = render 'ecm/opening_times/branches/opening_times_for_branch', branch: branch, weekday_format: :abbr_day_names
@@ -0,0 +1,11 @@
1
+ %div{ class: "opening-times-for-#{branch.name.underscore.dasherize}" }
2
+ %ul
3
+ - branch.entries_by_weekday.each_with_index do |(day, entries), index|
4
+ - next if entries.empty?
5
+ %li
6
+ - case local_assigns[:weekday_format]
7
+ - when :abbr_day_names
8
+ %span= "#{t('date.abbr_day_names')[(index + 1) % 7]}:"
9
+ - else
10
+ %span= "#{t('date.day_names')[(index + 1) % 7]}:"
11
+ %span= entries.collect { |entry| "#{entry.open_at} – #{entry.close_at}" }.join(", ")
@@ -0,0 +1,3 @@
1
+ %h1= t('classes.ecm/opening_times/engine')
2
+
3
+ = render @collection
@@ -0,0 +1,14 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>Opening Times</title>
5
+ <%= stylesheet_link_tag "ecm/opening_times/application", media: "all" %>
6
+ <%= javascript_include_tag "ecm/opening_times/application" %>
7
+ <%= csrf_meta_tags %>
8
+ </head>
9
+ <body>
10
+
11
+ <%= yield %>
12
+
13
+ </body>
14
+ </html>
@@ -0,0 +1,39 @@
1
+ de:
2
+ activerecord:
3
+ models:
4
+ ecm/opening_times/branch:
5
+ one: Filiale
6
+ other: Filialen
7
+ ecm/opening_times/entry:
8
+ one: Eintrag
9
+ other: Einträge
10
+ attributes:
11
+ ecm/opening_times/branch:
12
+ name: Name
13
+ identifier: Bezeichner
14
+ position: Position
15
+ created_at: Erstellt am
16
+ updated_at: Aktualisiert am
17
+ ecm/opening_times/entry:
18
+ branch: Filiale
19
+ branch_id: Filiale
20
+ monday: Montag
21
+ tuesday: Dienstag
22
+ wednesday: Mittwoch
23
+ thursday: Donnerstag
24
+ friday: Freitag
25
+ saturday: Samstag
26
+ sunday: Sonntag
27
+ open_at: Geöffnet von
28
+ close_at: Geöffnet bis
29
+ created_at: Erstellt am
30
+ updated_at: Aktualisiert am
31
+ classes:
32
+ ecm/opening_times/engine: Öffnungszeiten
33
+ routes:
34
+ ecm_opening_times_engine: oeffnungszeiten
35
+ ecm:
36
+ opening_times:
37
+ pages:
38
+ branches:
39
+ index: Öffnungszeiten
@@ -0,0 +1,39 @@
1
+ en:
2
+ activerecord:
3
+ models:
4
+ ecm/opening_times/branch:
5
+ one: Branch
6
+ other: Branches
7
+ ecm/opening_times/entry:
8
+ one: Entry
9
+ other: Entries
10
+ attributes:
11
+ ecm/opening_times/branch:
12
+ name: Name
13
+ identifier: Identifier
14
+ position: Position
15
+ created_at: Created at
16
+ updated_at: Updated at
17
+ ecm/opening_times/entry:
18
+ branch: Branch
19
+ branch_id: Branch
20
+ monday: Monday
21
+ tuesday: Tuesday
22
+ wednesday: Wednesday
23
+ thursday: Thursday
24
+ friday: Friday
25
+ saturday: Saturday
26
+ sunday: Sunday
27
+ open_at: Open at
28
+ close_at: Close at
29
+ created_at: Created at
30
+ updated_at: Updated at
31
+ classes:
32
+ ecm/opening_times/engine: Opening times
33
+ routes:
34
+ ecm_opening_times_engine: opening-times
35
+ ecm:
36
+ opening_times:
37
+ pages:
38
+ branches:
39
+ index: Opening Times
data/config/routes.rb ADDED
@@ -0,0 +1,9 @@
1
+ Ecm::OpeningTimes::Engine.routes.draw do
2
+ localized do
3
+ scope :ecm_opening_times_engine do
4
+ resources :branches, only: [:index]
5
+
6
+ root to: 'branches#index'
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,11 @@
1
+ class CreateEcmOpeningTimesBranches < ActiveRecord::Migration[5.1]
2
+ def change
3
+ create_table :ecm_opening_times_branches do |t|
4
+ t.string :name
5
+ t.string :identifier
6
+ t.integer :position
7
+
8
+ t.timestamps
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,18 @@
1
+ class CreateEcmOpeningTimesEntries < ActiveRecord::Migration[5.1]
2
+ def change
3
+ create_table :ecm_opening_times_entries do |t|
4
+ t.references :branch
5
+ t.boolean :monday
6
+ t.boolean :tuesday
7
+ t.boolean :wednesday
8
+ t.boolean :thursday
9
+ t.boolean :friday
10
+ t.boolean :saturday
11
+ t.boolean :sunday
12
+ t.integer :open_at
13
+ t.integer :close_at
14
+
15
+ t.timestamps
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,16 @@
1
+ require 'active_support/core_ext/module/delegation'
2
+ require 'active_support/core_ext/module/attribute_accessors'
3
+
4
+ module Ecm
5
+ module OpeningTimes
6
+ module Configuration
7
+ def configure
8
+ yield self
9
+ end
10
+
11
+ mattr_accessor :base_controller do
12
+ 'ApplicationController'
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,14 @@
1
+ module Ecm
2
+ module OpeningTimes
3
+ class Engine < ::Rails::Engine
4
+ isolate_namespace Ecm::OpeningTimes
5
+
6
+ config.generators do |g|
7
+ g.test_framework :rspec, fixture: true
8
+ g.fixture_replacement :factory_girl, dir: 'spec/factories'
9
+ # g.form_builder :simple_form
10
+ # g.template_engine :haml
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,5 @@
1
+ module Ecm
2
+ module OpeningTimes
3
+ VERSION = '0.0.1'
4
+ end
5
+ end
@@ -0,0 +1,10 @@
1
+ require 'acts_as_list'
2
+
3
+ require "ecm/opening_times/configuration"
4
+ require "ecm/opening_times/engine"
5
+
6
+ module Ecm
7
+ module OpeningTimes
8
+ extend Configuration
9
+ end
10
+ end
@@ -0,0 +1,21 @@
1
+ module Ecm
2
+ module OpeningTimes
3
+ module Generators
4
+ class InstallGenerator < Rails::Generators::Base
5
+ desc 'Generates the intializer'
6
+
7
+ source_root File.expand_path('../templates', __FILE__)
8
+
9
+ def generate_initializer
10
+ copy_file 'initializer.rb', 'config/initializers/ecm_opening_times.rb'
11
+ end
12
+
13
+ def generate_routes
14
+ inject_into_file 'config/routes.rb', before: "\nend" do
15
+ File.read(File.join(File.expand_path('../templates', __FILE__), 'routes.source'))
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,7 @@
1
+ Ecm::OpeningTimes.configure do |config|
2
+ # Set the base controller for the controllers
3
+ #
4
+ # Default: config.base_controller = 'ApplicationController'
5
+ #
6
+ config.base_controller = 'ApplicationController'
7
+ end
@@ -0,0 +1,2 @@
1
+
2
+ mount Ecm::OpeningTimes::Engine, at: '/'
@@ -0,0 +1,4 @@
1
+ # desc "Explaining what the task does"
2
+ # task :ecm_opening_times do
3
+ # # Task goes here
4
+ # end
metadata ADDED
@@ -0,0 +1,258 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ecm_opening_times
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Roberto Vasquez Angel
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2017-10-31 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rails
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 5.1.1
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 5.1.1
27
+ - !ruby/object:Gem::Dependency
28
+ name: acts_as_list
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: sqlite3
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
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: capybara
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
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: factory_girl_rails
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: guard-bundler
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: guard-rspec
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: i18n-debug
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: launchy
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
+ - !ruby/object:Gem::Dependency
140
+ name: pry-rails
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: rspec-rails
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
167
+ - !ruby/object:Gem::Dependency
168
+ name: rubocop
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - ">="
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ">="
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
181
+ - !ruby/object:Gem::Dependency
182
+ name: shoulda-matchers
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ">="
186
+ - !ruby/object:Gem::Version
187
+ version: '0'
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - ">="
193
+ - !ruby/object:Gem::Version
194
+ version: '0'
195
+ description:
196
+ email:
197
+ - roberto@vasquez-angel.de
198
+ executables: []
199
+ extensions: []
200
+ extra_rdoc_files: []
201
+ files:
202
+ - MIT-LICENSE
203
+ - README.md
204
+ - Rakefile
205
+ - app/assets/config/ecm_opening_times_manifest.js
206
+ - app/assets/javascripts/ecm/opening_times/application.js
207
+ - app/assets/stylesheets/ecm/opening_times/application.css
208
+ - app/controllers/ecm/opening_times/application_controller.rb
209
+ - app/controllers/ecm/opening_times/branches_controller.rb
210
+ - app/helpers/ecm/opening_times/application_helper.rb
211
+ - app/jobs/ecm/opening_times/application_job.rb
212
+ - app/mailers/ecm/opening_times/application_mailer.rb
213
+ - app/models/ecm/opening_times/application_record.rb
214
+ - app/models/ecm/opening_times/branch.rb
215
+ - app/models/ecm/opening_times/entry.rb
216
+ - app/views/ecm/opening_times/branches/_branch.haml
217
+ - app/views/ecm/opening_times/branches/_opening_times.haml
218
+ - app/views/ecm/opening_times/branches/_opening_times_for_branch.haml
219
+ - app/views/ecm/opening_times/branches/index.haml
220
+ - app/views/layouts/ecm/opening_times/application.html.erb
221
+ - config/locales/de.yml
222
+ - config/locales/en.yml
223
+ - config/routes.rb
224
+ - db/migrate/20170813125535_create_ecm_opening_times_branches.rb
225
+ - db/migrate/20170813133613_create_ecm_opening_times_entries.rb
226
+ - lib/ecm/opening_times/configuration.rb
227
+ - lib/ecm/opening_times/engine.rb
228
+ - lib/ecm/opening_times/version.rb
229
+ - lib/ecm_opening_times.rb
230
+ - lib/generators/ecm/opening_times/install/install_generator.rb
231
+ - lib/generators/ecm/opening_times/install/templates/initializer.rb
232
+ - lib/generators/ecm/opening_times/install/templates/routes.source
233
+ - lib/tasks/ecm_opening_times_tasks.rake
234
+ homepage: https://github.com/robotex82/ecm_opening_times
235
+ licenses:
236
+ - MIT
237
+ metadata: {}
238
+ post_install_message:
239
+ rdoc_options: []
240
+ require_paths:
241
+ - lib
242
+ required_ruby_version: !ruby/object:Gem::Requirement
243
+ requirements:
244
+ - - ">="
245
+ - !ruby/object:Gem::Version
246
+ version: '0'
247
+ required_rubygems_version: !ruby/object:Gem::Requirement
248
+ requirements:
249
+ - - ">="
250
+ - !ruby/object:Gem::Version
251
+ version: '0'
252
+ requirements: []
253
+ rubyforge_project:
254
+ rubygems_version: 2.6.11
255
+ signing_key:
256
+ specification_version: 4
257
+ summary: ECM Opening Times Module.
258
+ test_files: []