koalagator 2.1.1 → 3.0.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: 72f8712a5ef672d537bed87b595cb922df6e99b950337ce5334c684f60a91bf7
4
- data.tar.gz: 75a69edda40e9d88de1e63f7f367e134f0fc4a45577a17b7d9e4043c9c127708
3
+ metadata.gz: 9b3dd285966341d3681b39cad40f0ab07fe762be10479b1b0153f53fcda8a51b
4
+ data.tar.gz: 067ea9c4a92d31fe94428b93ac485122846df8af9928f84c7c34fece425bec61
5
5
  SHA512:
6
- metadata.gz: 45aea74561e345bede5e08ec98f188e5fc82eeeabc22e4048d6facf5cbe33ad006fbf36b1ff3ab4fe29039836a23c67730c3fcb26a1bff8e6ec1fb49c083a0fd
7
- data.tar.gz: fe9df256d44b947aa56ad5fd36f22dfaa249682d3cd6de6e46b14419a123f2d326b13a5dd6e8d2c60c8f7200f00d40988de25c7042dfb572e842f3788765b965
6
+ metadata.gz: f32f5b06541e8f945aaf9fb952fe93b71de08aef0ba685d198e397f44050e7fabb52e73c89de56a40a47325f42ddf8be3563270f1656773a79587b86985e7f41
7
+ data.tar.gz: 14e515d7af748832c2309f4f4b6dac10937e07829942afd05a8ab7d88ac40ed63228ababbb27d0233c74fa4785bfc7e707b6f8c654bafc5a178f42605cd22930
@@ -34,7 +34,7 @@ module Calagator
34
34
 
35
35
  def self.require_admin(options = {})
36
36
  http_basic_authenticate_with(
37
- options.reverse_merge(
37
+ **options.reverse_merge(
38
38
  name: Calagator.admin_username,
39
39
  password: Calagator.admin_password,
40
40
  if: proc { Calagator.admin_username && Calagator.admin_password }
@@ -24,7 +24,7 @@ module Calagator
24
24
  end
25
25
 
26
26
  def self.render_icalendar(events, opts)
27
- RiCal.Calendar do |calendar|
27
+ cal = RiCal.Calendar do |calendar|
28
28
  calendar.prodid = "-//Calagator//EN"
29
29
 
30
30
  Array(events).each do |event|
@@ -32,7 +32,8 @@ module Calagator
32
32
  new(event, opts).add_event_to(entry)
33
33
  end
34
34
  end
35
- end.export
35
+ end
36
+ cal.export
36
37
  end
37
38
 
38
39
  def self.add_name(output)
@@ -49,8 +49,8 @@ module Calagator
49
49
  include ActiveModel::Serializers::Xml
50
50
 
51
51
  # Associations
52
- belongs_to :venue, counter_cache: true
53
- belongs_to :source
52
+ belongs_to :venue, counter_cache: true, optional: true
53
+ belongs_to :source, optional: true
54
54
 
55
55
  # Validations
56
56
  validates :title, :description, :url, denylist: true
@@ -51,7 +51,7 @@ module Calagator
51
51
 
52
52
  # Associations
53
53
  has_many :events, -> { non_duplicates }, dependent: :nullify
54
- belongs_to :source
54
+ belongs_to :source, optional: true
55
55
 
56
56
  # Triggers
57
57
  strip_whitespace! :title, :description, :address, :url, :street_address, :locality, :region, :postal_code, :country, :email, :telephone
data/bin/calagator CHANGED
@@ -1,7 +1,10 @@
1
1
  #!/usr/bin/env ruby
2
2
  # frozen_string_literal: true
3
3
 
4
+ require_relative '../lib/calagator/version'
5
+
4
6
  USAGE = <<~END
7
+ Calagator: v#{Calagator::VERSION}
5
8
  calagator: setup Calagator in a new or existing Rails application
6
9
 
7
10
  Usage:
@@ -17,10 +20,6 @@ USAGE = <<~END
17
20
  In the case of `calagator new`, all other options will be passed along
18
21
  to `rails new`; see `rails new --help` for supported options.
19
22
 
20
- To generate an app using a specific Rails version, e.g. for 4.2.1:
21
-
22
- calagator _4.2.1_ new my_great_calendar
23
-
24
23
  calagator install: install Calagator into an existing Rails application
25
24
 
26
25
  Options:
@@ -33,7 +32,7 @@ command = ARGV.shift
33
32
 
34
33
  case command
35
34
  when /_\d+\.\d+\.\d+_/, 'new'
36
- system "rails #{command} #{ARGV.join(' ')} -m #{TEMPLATE_PATH} --skip-bundle"
35
+ system "rails #{command} #{ARGV.join(' ')} -m #{TEMPLATE_PATH} --skip-bundle --skip-javascript" # Skip Webpack on Rails 6 as we're on our way to Rails 7.
37
36
  when 'install'
38
37
  system "bundle exec rake rails:template LOCATION=#{TEMPLATE_PATH}"
39
38
  else
@@ -92,7 +92,7 @@ module Calagator
92
92
  cattr_accessor(:_duplicate_finding_scope) { -> { all } }
93
93
  cattr_accessor(:_after_squashing_duplicates) { ->(primary) {} }
94
94
 
95
- belongs_to :duplicate_of, class_name: name, foreign_key: DUPLICATE_MARK_COLUMN
95
+ belongs_to :duplicate_of, class_name: name, foreign_key: DUPLICATE_MARK_COLUMN, optional: true
96
96
  has_many :duplicates, class_name: name, foreign_key: DUPLICATE_MARK_COLUMN
97
97
 
98
98
  scope :marked_duplicates, -> { where("#{table_name}.#{DUPLICATE_MARK_COLUMN} IS NOT NULL") }
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Calagator
4
- VERSION = "2.1.1"
4
+ VERSION = "3.0.0"
5
+ RAILS_VERSION = "~> 6.1"
5
6
  end
@@ -15,9 +15,9 @@ module Calagator
15
15
  add_seeds
16
16
  run "rm -f public/index.html"
17
17
  unless options[:test_app]
18
- rake "calagator:install:migrations"
19
- rake "db:migrate"
20
- rake "db:test:prepare"
18
+ rails_command "calagator:install:migrations"
19
+ rails_command "db:migrate"
20
+ rails_command "db:test:prepare"
21
21
  end
22
22
  end
23
23
 
@@ -34,11 +34,16 @@ module Calagator
34
34
  end
35
35
 
36
36
  def add_javascripts
37
- append_file "app/assets/javascripts/application.js", "//= require calagator"
37
+ create_file "app/assets/javascripts/application.js", "//= require calagator"
38
38
  end
39
39
 
40
40
  def add_stylesheets
41
- append_file "app/assets/stylesheets/application.css", "//= require calagator"
41
+ insert_into_file "app/assets/stylesheets/application.css", before: "*/" do
42
+ <<-STR.strip_heredoc
43
+
44
+ //= require calagator
45
+ STR
46
+ end
42
47
  end
43
48
 
44
49
  def add_assets
data/rails_template.rb CHANGED
@@ -2,15 +2,14 @@
2
2
 
3
3
  require "rubygems"
4
4
  require "pathname"
5
-
6
- RAILS_REQUIREMENT = "~> 5.2"
5
+ require_relative './lib/calagator/version'
7
6
 
8
7
  def assert_minimum_rails_version
9
- requirement = Gem::Requirement.new(RAILS_REQUIREMENT)
8
+ requirement = Gem::Requirement.new(Calagator::RAILS_VERSION)
10
9
  rails_version = Gem::Version.new(Rails::VERSION::STRING)
11
10
  return if requirement.satisfied_by?(rails_version)
12
11
 
13
- puts "Calagator requires Rails #{RAILS_REQUIREMENT}. You are using #{rails_version}."
12
+ puts "Calagator requires Rails #{Calagator::RAILS_VERSION}. You are using #{rails_version}."
14
13
  exit 1
15
14
  end
16
15
 
@@ -42,17 +41,15 @@ gem_group :development, :test do
42
41
  end
43
42
  end
44
43
 
45
- gem "calagator", (generating_test_app && {path: relative_calagator_path.to_s})
44
+ gem "calagator", Calagator::VERSION, (generating_test_app ? {path: relative_calagator_path.to_s} : {})
46
45
  run "bundle install"
47
- rake "db:create"
46
+ rails_command "db:create"
48
47
  inside("app/assets") do
49
- create_file("config/manifest.js") do
48
+ append_to_file("config/manifest.js") do
50
49
  <<-MANIFEST.strip_heredoc
51
50
  //= link application.js
52
51
  //= link application.css
53
- //= link calagator/manifest.js
54
52
  MANIFEST
55
53
  end
56
54
  end
57
- generate "calagator:install", (generating_test_app && "--test_app")
58
- generate "sunspot_rails:install"
55
+ generate "calagator:install", "--test-app #{generating_test_app}"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: koalagator
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.1
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Koalagator team
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '5.2'
19
+ version: '6.1'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '5.2'
26
+ version: '6.1'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: activemodel-serializers-xml
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -284,28 +284,28 @@ dependencies:
284
284
  requirements:
285
285
  - - "~>"
286
286
  - !ruby/object:Gem::Version
287
- version: 10.3.1
287
+ version: '11.1'
288
288
  type: :runtime
289
289
  prerelease: false
290
290
  version_requirements: !ruby/object:Gem::Requirement
291
291
  requirements:
292
292
  - - "~>"
293
293
  - !ruby/object:Gem::Version
294
- version: 10.3.1
294
+ version: '11.1'
295
295
  - !ruby/object:Gem::Dependency
296
- name: paper_trail_manager_rails_5
296
+ name: demingfactor-paper_trail_manager
297
297
  requirement: !ruby/object:Gem::Requirement
298
298
  requirements:
299
299
  - - "~>"
300
300
  - !ruby/object:Gem::Version
301
- version: 0.7.2
301
+ version: 0.7.3
302
302
  type: :runtime
303
303
  prerelease: false
304
304
  version_requirements: !ruby/object:Gem::Requirement
305
305
  requirements:
306
306
  - - "~>"
307
307
  - !ruby/object:Gem::Version
308
- version: 0.7.2
308
+ version: 0.7.3
309
309
  - !ruby/object:Gem::Dependency
310
310
  name: rack-contrib
311
311
  requirement: !ruby/object:Gem::Requirement
@@ -382,14 +382,14 @@ dependencies:
382
382
  requirements:
383
383
  - - "~>"
384
384
  - !ruby/object:Gem::Version
385
- version: 0.9.0
385
+ version: 0.10.0
386
386
  type: :runtime
387
387
  prerelease: false
388
388
  version_requirements: !ruby/object:Gem::Requirement
389
389
  requirements:
390
390
  - - "~>"
391
391
  - !ruby/object:Gem::Version
392
- version: 0.9.0
392
+ version: 0.10.0
393
393
  - !ruby/object:Gem::Dependency
394
394
  name: sassc-rails
395
395
  requirement: !ruby/object:Gem::Requirement
@@ -486,14 +486,14 @@ dependencies:
486
486
  requirements:
487
487
  - - "~>"
488
488
  - !ruby/object:Gem::Version
489
- version: 0.19.0
489
+ version: 1.5.9
490
490
  type: :runtime
491
491
  prerelease: false
492
492
  version_requirements: !ruby/object:Gem::Requirement
493
493
  requirements:
494
494
  - - "~>"
495
495
  - !ruby/object:Gem::Version
496
- version: 0.19.0
496
+ version: 1.5.9
497
497
  - !ruby/object:Gem::Dependency
498
498
  name: sqlite3
499
499
  requirement: !ruby/object:Gem::Requirement
@@ -508,20 +508,6 @@ dependencies:
508
508
  - - "~>"
509
509
  - !ruby/object:Gem::Version
510
510
  version: 1.5.4
511
- - !ruby/object:Gem::Dependency
512
- name: listen
513
- requirement: !ruby/object:Gem::Requirement
514
- requirements:
515
- - - "~>"
516
- - !ruby/object:Gem::Version
517
- version: 3.1.5
518
- type: :runtime
519
- prerelease: false
520
- version_requirements: !ruby/object:Gem::Requirement
521
- requirements:
522
- - - "~>"
523
- - !ruby/object:Gem::Version
524
- version: 3.1.5
525
511
  - !ruby/object:Gem::Dependency
526
512
  name: appraisal
527
513
  requirement: !ruby/object:Gem::Requirement
@@ -570,14 +556,14 @@ dependencies:
570
556
  requirements:
571
557
  - - "~>"
572
558
  - !ruby/object:Gem::Version
573
- version: '6.2'
559
+ version: '5.2'
574
560
  type: :development
575
561
  prerelease: false
576
562
  version_requirements: !ruby/object:Gem::Requirement
577
563
  requirements:
578
564
  - - "~>"
579
565
  - !ruby/object:Gem::Version
580
- version: '6.2'
566
+ version: '5.2'
581
567
  - !ruby/object:Gem::Dependency
582
568
  name: faker
583
569
  requirement: !ruby/object:Gem::Requirement
@@ -1056,7 +1042,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
1056
1042
  - !ruby/object:Gem::Version
1057
1043
  version: '0'
1058
1044
  requirements: []
1059
- rubygems_version: 3.2.3
1045
+ rubygems_version: 3.2.33
1060
1046
  signing_key:
1061
1047
  specification_version: 4
1062
1048
  summary: A calendar for communities