jekyll-compose 0.6.0 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: f6626f1690b5584b65e7d569272b59eb416414a5
4
- data.tar.gz: 7d57720c9bdefd1f9bebb577829fde1371ff4150
2
+ SHA256:
3
+ metadata.gz: d49ea59f89aedfd68afd1fcecb02231d342058f4dbdbcd00b5d3474c2cf8a986
4
+ data.tar.gz: 3a618debf77511ef6858b0bde412dc1a7fa37701b4be12de0a1d2f0ffcc4a012
5
5
  SHA512:
6
- metadata.gz: 19cca9b6e9f8b0e2d743c05daa6463ed574663994e7cd3dc495f04a04870df5624758a890f12f730bfdbb22de8276424d53329f6d1c9ce7b69e91679221ce560
7
- data.tar.gz: 37130e32cfa032e7690da8685a7e257e9037a91e4273539fa01ee355c4196d3fe0b4820adf0e3af0dc1be2d7d9b8ba0900ecf531ea1cde737f96f6fbb395bcdc
6
+ metadata.gz: 37a8c477f69c8d073fb5491946c0420298a71b2f2a228fa84066ad3eea87344d30e6f9c911c88a5f4081a182e5759367def2dd19fdbd92d5486222d264919da6
7
+ data.tar.gz: 4e7951b4ffa4bde211cd877d5c9ad6a8b56194e414c534668aebf39dd11bd19ee7e2c1cd6f4f1c01d248b6cbc081139252c79e0e43048a3a84588227f2ba597f
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "jekyll-compose/version"
2
4
  require "jekyll-compose/arg_parser"
3
5
  require "jekyll-compose/movement_arg_parser"
@@ -13,6 +15,6 @@ module Jekyll
13
15
  end
14
16
  end
15
17
 
16
- %w{draft post publish unpublish page}.each do |file|
18
+ %w(draft post publish unpublish page).each do |file|
17
19
  require File.expand_path("jekyll/commands/#{file}.rb", __dir__)
18
20
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class Jekyll::Compose::ArgParser
2
4
  attr_reader :args, :options, :config
3
5
  def initialize(args, options)
@@ -1,9 +1,11 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Jekyll
2
4
  module Compose
3
5
  class FileCreator
4
6
  attr_reader :file, :force, :root
5
- def initialize(fileInfo, force = false, root = nil)
6
- @file = fileInfo
7
+ def initialize(file_info, force = false, root = nil)
8
+ @file = file_info
7
9
  @force = force
8
10
  @root = root
9
11
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class Jekyll::Compose::FileInfo
2
4
  attr_reader :params
3
5
  def initialize(params)
@@ -1,24 +1,32 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Jekyll
2
4
  module Compose
3
5
  class FileMover
4
- attr_reader :movement, :root
5
- def initialize(movement, root = nil)
6
+ attr_reader :force, :movement, :root
7
+ def initialize(movement, force = false, root = nil)
6
8
  @movement = movement
9
+ @force = force
7
10
  @root = root
8
11
  end
9
12
 
10
- def resource_type
13
+ def resource_type_from
14
+ "file"
15
+ end
16
+
17
+ def resource_type_to
11
18
  "file"
12
19
  end
13
20
 
14
21
  def move
15
22
  validate_source
23
+ validate_should_write!
16
24
  ensure_directory_exists
17
25
  move_file
18
26
  end
19
27
 
20
28
  def validate_source
21
- raise ArgumentError, "There was no #{resource_type} found at '#{from}'." unless File.exist? from
29
+ raise ArgumentError, "There was no #{resource_type_from} found at '#{from}'." unless File.exist? from
22
30
  end
23
31
 
24
32
  def ensure_directory_exists
@@ -26,9 +34,13 @@ module Jekyll
26
34
  Dir.mkdir(dir) unless Dir.exist?(dir)
27
35
  end
28
36
 
37
+ def validate_should_write!
38
+ raise ArgumentError, "A #{resource_type_to} already exists at #{to}" if File.exist?(to) && !force
39
+ end
40
+
29
41
  def move_file
30
42
  FileUtils.mv(from, to)
31
- puts "#{resource_type.capitalize} #{from} was moved to #{to}"
43
+ puts "#{resource_type_from.capitalize} #{from} was moved to #{to}"
32
44
  end
33
45
 
34
46
  private
@@ -1,12 +1,8 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Jekyll
2
4
  module Compose
3
- class MovementArgParser
4
- attr_reader :args, :options, :config
5
- def initialize(args, options)
6
- @args = args
7
- @options = options
8
- @config = Jekyll.configuration(options)
9
- end
5
+ class MovementArgParser < ArgParser
10
6
 
11
7
  def validate!
12
8
  raise ArgumentError, "You must specify a #{resource_type} path." if args.empty?
@@ -15,10 +11,6 @@ module Jekyll
15
11
  def path
16
12
  args.join " "
17
13
  end
18
-
19
- def source
20
- source = config["source"].gsub(%r!^#{Regexp.quote(Dir.pwd)}!, "")
21
- end
22
14
  end
23
15
  end
24
16
  end
@@ -1,5 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Jekyll
2
4
  module Compose
3
- VERSION = "0.6.0".freeze
5
+ VERSION = "0.7.0".freeze
4
6
  end
5
7
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Jekyll
2
4
  module Commands
3
5
  class Draft < Command
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Jekyll
2
4
  module Commands
3
5
  class Page < Command
@@ -33,7 +35,7 @@ module Jekyll
33
35
 
34
36
  class PageArgParser < Compose::ArgParser
35
37
  def layout
36
- layout = options["layout"] || Jekyll::Compose::DEFAULT_LAYOUT_PAGE
38
+ options["layout"] || Jekyll::Compose::DEFAULT_LAYOUT_PAGE
37
39
  end
38
40
  end
39
41
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Jekyll
2
4
  module Commands
3
5
  class Post < Command
@@ -34,7 +36,7 @@ module Jekyll
34
36
 
35
37
  class PostArgParser < Compose::ArgParser
36
38
  def date
37
- options["date"].nil? ? Time.now : DateTime.parse(options["date"])
39
+ options["date"].nil? ? Time.now : Date.parse(options["date"])
38
40
  end
39
41
  end
40
42
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Jekyll
2
4
  module Commands
3
5
  class Publish < Command
@@ -8,6 +10,7 @@ module Jekyll
8
10
 
9
11
  c.option "date", "-d DATE", "--date DATE", "Specify the post date"
10
12
  c.option "config", "--config CONFIG_FILE[,CONFIG_FILE2,...]", Array, "Custom configuration file"
13
+ c.option "force", "-f", "--force", "Overwrite a post if it already exists"
11
14
  c.option "source", "-s", "--source SOURCE", "Custom source directory"
12
15
 
13
16
  c.action do |args, options|
@@ -22,7 +25,7 @@ module Jekyll
22
25
 
23
26
  movement = DraftMovementInfo.new params
24
27
 
25
- mover = DraftMover.new movement, params.source
28
+ mover = DraftMover.new movement, params.force?, params.source
26
29
  mover.move
27
30
  end
28
31
  end
@@ -58,9 +61,12 @@ module Jekyll
58
61
  end
59
62
 
60
63
  class DraftMover < Compose::FileMover
61
- def resource_type
64
+ def resource_type_from
62
65
  "draft"
63
66
  end
67
+ def resource_type_to
68
+ "post"
69
+ end
64
70
  end
65
71
  end
66
72
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Jekyll
2
4
  module Commands
3
5
  class Unpublish < Command
@@ -7,6 +9,7 @@ module Jekyll
7
9
  c.description "Moves a post back into the _drafts directory"
8
10
 
9
11
  c.option "config", "--config CONFIG_FILE[,CONFIG_FILE2,...]", Array, "Custom configuration file"
12
+ c.option "force", "-f", "--force", "Overwrite a draft if it already exists"
10
13
  c.option "source", "-s", "--source SOURCE", "Custom source directory"
11
14
 
12
15
  c.action do |args, options|
@@ -21,7 +24,7 @@ module Jekyll
21
24
 
22
25
  movement = PostMovementInfo.new params
23
26
 
24
- mover = PostMover.new movement, params.source
27
+ mover = PostMover.new movement, params.force?, params.source
25
28
  mover.move
26
29
  end
27
30
  end
@@ -52,9 +55,12 @@ module Jekyll
52
55
  end
53
56
 
54
57
  class PostMover < Compose::FileMover
55
- def resource_type
58
+ def resource_type_from
56
59
  "post"
57
60
  end
61
+ def resource_type_to
62
+ "draft"
63
+ end
58
64
  end
59
65
  end
60
66
  end
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-compose
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Parker Moore
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-11-14 00:00:00.000000000 Z
11
+ date: 2018-02-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 3.0.0
19
+ version: '3.0'
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: 3.0.0
26
+ version: '3.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -66,6 +66,20 @@ dependencies:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '3.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rubocop
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '0.51'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '0.51'
69
83
  description: Streamline your writing in Jekyll with these commands.
70
84
  email:
71
85
  - parkrmoore@gmail.com
@@ -105,7 +119,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
105
119
  version: '0'
106
120
  requirements: []
107
121
  rubyforge_project:
108
- rubygems_version: 2.6.13
122
+ rubygems_version: 2.7.5
109
123
  signing_key:
110
124
  specification_version: 4
111
125
  summary: Streamline your writing in Jekyll with these commands.