middleman-pry 0.0.4 → 1.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
  SHA1:
3
- metadata.gz: 26e99f396e29d15b3957ccfcd8ee9e9d57160b2c
4
- data.tar.gz: b2b66924d734a0d52f1a87013120f892c72bdc73
3
+ metadata.gz: bf442b7cbefccc45e381391c611925224346cd7b
4
+ data.tar.gz: 9dbe3c8c5bf29f997dc6609727f5eec2897eae3e
5
5
  SHA512:
6
- metadata.gz: 7534ab17eac6d5f4602a7bae9c6cb0e2461ec2c324fedfc4a2f74d9a13056696489bd36d0be7fa404d2114643d8ba70eb9e108313cc03e9d5d6f0cf7352f8bdb
7
- data.tar.gz: e92a92acb01ed26d6d164fff31283ef5218aea3eadf8fe5f1de45378bd4626f2a578fcab4501863cfff84bb9f594771638392f5ab1e1fb50c4171f3188fd9a5c
6
+ metadata.gz: 12fc96f682949f19ec87f5a66a4d3eeef855148353e37e1f9096083104728f9b73bbb7e288bfc93f6f48cf841552a13f38a8d781b644abee31dc7fe2f57a0481
7
+ data.tar.gz: 1b2af790a6872f8dcbdca9b18519737eaa489b2ee9e5e468d0ce004a84ab930c7ef5804db5918f032339b1df06f03f509c7d539ca0f3d453d4df735b3b6ff5f3
data/.gitignore CHANGED
@@ -1,8 +1,11 @@
1
- # Ignore bundler lock file
2
- /Gemfile.lock
3
-
4
- # Ignore pkg folder
5
- /pkg
1
+ # Appraisal
2
+ /gemfiles/*.gemfile.lock
6
3
 
7
4
  # Aruba
8
5
  /tmp
6
+
7
+ # Bundler
8
+ /Gemfile.lock
9
+
10
+ # RubyGems
11
+ /pkg
data/.travis.yml CHANGED
@@ -1,7 +1,17 @@
1
- env:
2
- - CUCUMBER_FORMAT=pretty
1
+ gemfile:
2
+ - gemfiles/middleman_3.3.gemfile
3
+ - gemfiles/middleman_3.4.gemfile
4
+ - gemfiles/middleman_3_unreleased.gemfile
5
+ - gemfiles/middleman_4.0.gemfile
6
+ - gemfiles/middleman_4.1.gemfile
7
+ - gemfiles/middleman_4_unreleased.gemfile
3
8
  language: ruby
9
+ matrix:
10
+ allow_failures:
11
+ - gemfile: gemfiles/middleman_3_unreleased.gemfile
12
+ - gemfile: gemfiles/middleman_4_unreleased.gemfile
4
13
  rvm:
5
- - 2.0.0
6
- - 2.1.2
14
+ - 2.1.8
15
+ - 2.2.4
16
+ - 2.3.0
7
17
  script: bundle exec rake test
data/Appraisals ADDED
@@ -0,0 +1,9 @@
1
+ middleman_3_unreleased = { github: 'middleman/middleman', branch: 'v3-stable' }
2
+ middleman_4_unreleased = { github: 'middleman/middleman', branch: 'master' }
3
+
4
+ appraise('middleman_3.3') { gem 'middleman', '~> 3.3.0' }
5
+ appraise('middleman_3.4') { gem 'middleman', '~> 3.4.0' }
6
+ appraise('middleman_3_unreleased') { gem 'middleman', middleman_3_unreleased }
7
+ appraise('middleman_4.0') { gem 'middleman', '~> 4.0.0' }
8
+ appraise('middleman_4.1') { gem 'middleman', '~> 4.1.0' }
9
+ appraise('middleman_4_unreleased') { gem 'middleman', middleman_4_unreleased }
data/Gemfile CHANGED
@@ -2,18 +2,11 @@ source 'https://rubygems.org'
2
2
 
3
3
  gemspec
4
4
 
5
- group :development do
6
- gem 'middleman', github: 'middleman/middleman', branch: 'v3-stable'
7
- gem 'rake'
8
- gem 'rdoc'
9
- gem 'travis'
10
- gem 'websocket-native'
11
- gem 'yard'
12
- end
5
+ gem 'middleman', github: 'middleman/middleman', branch: 'master'
13
6
 
14
7
  group :test do
15
- gem 'cucumber'
16
- gem 'fivemat'
17
- gem 'aruba'
18
- gem 'rspec'
8
+ gem 'appraisal', '~> 2.0'
9
+ gem 'aruba', '~> 0.13'
10
+ gem 'cucumber', '~> 2.0'
11
+ gem 'rspec', '~> 3.2'
19
12
  end
data/README.md CHANGED
@@ -8,50 +8,59 @@ Replaces [Middleman's][middleman] built-in console with [Pry][], à la
8
8
 
9
9
  ## Installation
10
10
 
11
- Add to your `Gemfile`:
11
+ Install the gem:
12
12
 
13
13
  ```ruby
14
+ # Gemfile
15
+
14
16
  gem 'middleman-pry'
15
17
  ```
16
18
 
17
- and run `bundle install`.
19
+ ```console
20
+ $ bundle install
21
+ ```
22
+
23
+ and activate the extension:
24
+
25
+ ```ruby
26
+ # config.rb
27
+
28
+ activate :pry
29
+ ```
18
30
 
19
31
  ## Usage
20
32
 
21
33
  Start the Middleman console like normal:
22
34
 
23
- ```shell
35
+ ```console
24
36
  $ middleman console
25
37
  ```
26
38
 
27
39
  You should find yourself in an interactive Pry session in the context of your
28
40
  Middleman app:
29
41
 
30
- ```
31
- #<Middleman::Application::MiddlemanApplication1>$ cd sitemap.resources.first
32
- #<Middleman::Sitemap::Resource>$ ls
33
- Middleman::Sitemap::Extensions::Traversal#methods:
34
- children eponymous_directory? parent
35
- directory_index? eponymous_directory_path siblings
36
- Middleman::Sitemap::Extensions::Proxies::ResourceInstanceMethods#methods:
37
- get_source_file proxied_to proxied_to_resource proxy? proxy_to
38
- Middleman::CoreExtensions::FrontMatter::ResourceInstanceMethods#methods:
39
- content_type data ignored? raw_data
42
+ ```console
43
+ middleman:~$ cd sitemap.resources.first
44
+ middleman:Middleman::Sitemap::Resource$ ls
40
45
  Middleman::Sitemap::Resource#methods:
41
- add_metadata destination_path= metadata source_file
42
- app ext path store
43
- binary? instrument render template?
44
- destination_path logger request_path url
45
- instance variables:
46
- @app @destination_path @local_metadata @path @source_file @store
47
- #<Middleman::Sitemap::Resource>$
46
+ add_metadata blog_controller= instrument request_path url
47
+ app destination_path logger source_file
48
+ binary? destination_path= metadata store
49
+ blog_controller ext path template?
50
+ Middleman::Blog::BlogArticle#methods:
51
+ blog_data default_summary_generator previous_article summary
52
+ blog_options inspect published? tags
53
+ body lang render title
54
+ date next_article slug
55
+ middleman:Middleman::Sitemap::Resource$ url
56
+ => "/use-pry-as-the-middleman-console/"
48
57
  ```
49
58
 
50
59
 
51
60
  [build-status]: https://travis-ci.org/AndrewKvalheim/middleman-pry
52
- [build-status-badge]: https://travis-ci.org/AndrewKvalheim/middleman-pry.png?branch=master
61
+ [build-status-badge]: https://travis-ci.org/AndrewKvalheim/middleman-pry.svg?branch=master
53
62
  [gem-version]: https://badge.fury.io/rb/middleman-pry
54
- [gem-version-badge]: https://badge.fury.io/rb/middleman-pry.png
63
+ [gem-version-badge]: https://badge.fury.io/rb/middleman-pry.svg
55
64
  [middleman]: http://middlemanapp.com/
56
65
  [pry]: http://pryrepl.org/
57
66
  [pry-rails]: https://github.com/rweng/pry-rails
data/Rakefile CHANGED
@@ -4,7 +4,7 @@ Bundler::GemHelper.install_tasks
4
4
  require 'cucumber/rake/task'
5
5
 
6
6
  Cucumber::Rake::Task.new(:cucumber, 'Run features that should pass') do |t|
7
- t.cucumber_opts = "--color --tags ~@wip --strict --format #{ENV['CUCUMBER_FORMAT'] || 'Fivemat'}"
7
+ t.cucumber_opts = '--color --tags ~@wip --strict'
8
8
  end
9
9
 
10
10
  require 'rake/clean'
@@ -1,9 +1,19 @@
1
1
  Feature: Console
2
2
 
3
- Scenario: The Middleman console command should open a Pry console.
4
- Given a fixture app "empty-app"
3
+ Scenario: The console is unaffected when the extension is inactive.
4
+ Given a fixture app "inactive"
5
5
  When I run `middleman console` interactively
6
- And I type "puts %{We're using #{_pry_.class}.};"
6
+ And I type "puts %{We're using #{ defined?(_pry_) ? 'Pry' : 'IRB' }.}"
7
+ And I type "exit"
8
+ Then it should pass with:
9
+ """
10
+ We're using IRB.
11
+ """
12
+
13
+ Scenario: The console is a Pry console.
14
+ Given a fixture app "typical"
15
+ When I run `middleman console` interactively
16
+ And I type "puts %{We're using #{ defined?(_pry_) ? 'Pry' : 'IRB' }.}"
7
17
  And I type "exit"
8
18
  Then it should pass with:
9
19
  """
@@ -1,4 +1,4 @@
1
1
  PROJECT_ROOT_PATH = File.dirname(File.dirname(File.dirname(__FILE__)))
2
- require "middleman-core"
3
- require "middleman-core/step_definitions"
2
+ require 'middleman-core'
3
+ require 'middleman-core/step_definitions'
4
4
  require File.join(PROJECT_ROOT_PATH, 'lib', 'middleman-pry')
File without changes
@@ -0,0 +1 @@
1
+ activate :pry
@@ -0,0 +1,14 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "middleman", "~> 3.3.0"
6
+
7
+ group :test do
8
+ gem "appraisal", "~> 2.0"
9
+ gem "aruba", "~> 0.13"
10
+ gem "cucumber", "~> 2.0"
11
+ gem "rspec", "~> 3.2"
12
+ end
13
+
14
+ gemspec :path => "../"
@@ -0,0 +1,14 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "middleman", "~> 3.4.0"
6
+
7
+ group :test do
8
+ gem "appraisal", "~> 2.0"
9
+ gem "aruba", "~> 0.13"
10
+ gem "cucumber", "~> 2.0"
11
+ gem "rspec", "~> 3.2"
12
+ end
13
+
14
+ gemspec :path => "../"
@@ -0,0 +1,14 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "middleman", :github => "middleman/middleman", :branch => "v3-stable"
6
+
7
+ group :test do
8
+ gem "appraisal", "~> 2.0"
9
+ gem "aruba", "~> 0.13"
10
+ gem "cucumber", "~> 2.0"
11
+ gem "rspec", "~> 3.2"
12
+ end
13
+
14
+ gemspec :path => "../"
@@ -0,0 +1,14 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "middleman", "~> 4.0.0"
6
+
7
+ group :test do
8
+ gem "appraisal", "~> 2.0"
9
+ gem "aruba", "~> 0.13"
10
+ gem "cucumber", "~> 2.0"
11
+ gem "rspec", "~> 3.2"
12
+ end
13
+
14
+ gemspec :path => "../"
@@ -0,0 +1,14 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "middleman", "~> 4.1.0"
6
+
7
+ group :test do
8
+ gem "appraisal", "~> 2.0"
9
+ gem "aruba", "~> 0.13"
10
+ gem "cucumber", "~> 2.0"
11
+ gem "rspec", "~> 3.2"
12
+ end
13
+
14
+ gemspec :path => "../"
@@ -0,0 +1,14 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "middleman", :github => "middleman/middleman", :branch => "master"
6
+
7
+ group :test do
8
+ gem "appraisal", "~> 2.0"
9
+ gem "aruba", "~> 0.13"
10
+ gem "cucumber", "~> 2.0"
11
+ gem "rspec", "~> 3.2"
12
+ end
13
+
14
+ gemspec :path => "../"
@@ -0,0 +1,39 @@
1
+ require 'middleman-core/cli'
2
+ require 'middleman-core/version'
3
+ require 'middleman-pry/interaction'
4
+ require 'middleman-pry/version'
5
+
6
+ module Middleman
7
+ module Pry
8
+ # Middleman extension
9
+ class Extension < ::Middleman::Extension
10
+ def initialize(app, **options_hash)
11
+ super
12
+
13
+ override_v4 || override_v3 || abort
14
+ end
15
+
16
+ private
17
+
18
+ def abort
19
+ message = "Middleman Pry #{Middleman::Pry::VERSION} is incompatible " \
20
+ "with Middleman #{Middleman::VERSION}. Please report this " \
21
+ "at https://github.com/AndrewKvalheim/middleman-pry/issues."
22
+
23
+ fail NotImplementedError, message
24
+ end
25
+
26
+ def override_v3
27
+ return unless Middleman::Cli::Console.private_method_defined?(:interact_with)
28
+
29
+ Middleman::Cli::Console.prepend Interaction
30
+ end
31
+
32
+ def override_v4
33
+ return unless Middleman::Cli::Console.respond_to?(:interact_with)
34
+
35
+ Middleman::Cli::Console.singleton_class.prepend Interaction
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,12 @@
1
+ require 'pry'
2
+
3
+ module Middleman
4
+ module Pry
5
+ # Methods for facilitating an interactive console
6
+ module Interaction
7
+ def interact_with(context)
8
+ context.pry
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Middleman
4
+ module Pry
5
+ VERSION = '1.0.0'.freeze
6
+ end
7
+ end
data/lib/middleman-pry.rb CHANGED
@@ -1,24 +1,7 @@
1
- require 'middleman-core/cli'
1
+ require 'middleman-core'
2
2
 
3
- # Override the built-in console command
4
- class Middleman::Cli::Console
5
- def console
6
- require 'middleman-core'
7
- require 'pry'
3
+ ::Middleman::Extensions.register :pry do
4
+ require 'middleman-pry/extension'
8
5
 
9
- instance_options = {
10
- :environment => options['environment'],
11
- :verbose => options['verbose']
12
- }
13
-
14
- @instance = ::Middleman::Application.server.inst do
15
- if instance_options[:environment]
16
- set :environment, instance_options[:environment].to_sym
17
- end
18
-
19
- ::Middleman::Logger.singleton(instance_options[:verbose] ? 0 : 1, false)
20
- end
21
-
22
- @instance.pry
23
- end
6
+ Middleman::Pry::Extension
24
7
  end
@@ -1,21 +1,36 @@
1
- # -*- encoding: utf-8 -*-
2
- $:.push File.expand_path('../lib', __FILE__)
1
+ $LOAD_PATH.push File.expand_path('../lib', __FILE__)
2
+
3
+ require 'middleman-pry/version'
3
4
 
4
5
  Gem::Specification.new do |gem|
6
+ # Identity
5
7
  gem.name = 'middleman-pry'
6
- gem.version = '0.0.4'
7
- gem.platform = Gem::Platform::RUBY
8
- gem.required_ruby_version = '~> 2.0'
8
+ gem.version = Middleman::Pry::VERSION
9
+ gem.summary = 'Use Pry as the Middleman console.'
10
+ gem.homepage = 'https://github.com/AndrewKvalheim/middleman-pry'
11
+
12
+ # License
9
13
  gem.license = 'MIT'
14
+
15
+ # Authorship
10
16
  gem.authors = ['Andrew Kvalheim']
11
17
  gem.email = ['Andrew@Kvalhe.im']
12
- gem.homepage = 'https://github.com/AndrewKvalheim/middleman-pry'
13
- gem.summary = %q{Use Pry as the Middleman console.}
14
18
 
19
+ # Content
15
20
  gem.files = `git ls-files -z`.split("\0")
16
- gem.test_files = gem.files.grep(%r{^(features|fixtures)/})
21
+ gem.test_files = gem.files.grep(/^(features|fixtures)\//)
17
22
  gem.require_paths = ['lib']
18
23
 
19
- gem.add_runtime_dependency 'middleman-core', '~> 3.2'
24
+ # Dependencies
25
+ gem.platform = Gem::Platform::RUBY
26
+ gem.required_ruby_version = '~> 2.0'
27
+ gem.add_runtime_dependency 'middleman', '>= 3.3', '< 5'
20
28
  gem.add_runtime_dependency 'pry', '~> 0.9'
29
+
30
+ # Development dependencies
31
+ gem.add_development_dependency 'rake'
32
+ gem.add_development_dependency 'rdoc'
33
+ gem.add_development_dependency 'travis'
34
+ gem.add_development_dependency 'websocket-native'
35
+ gem.add_development_dependency 'yard'
21
36
  end
metadata CHANGED
@@ -1,29 +1,35 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: middleman-pry
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Kvalheim
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-10 00:00:00.000000000 Z
11
+ date: 2016-02-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: middleman-core
14
+ name: middleman
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '3.3'
20
+ - - "<"
18
21
  - !ruby/object:Gem::Version
19
- version: '3.2'
22
+ version: '5'
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
- - - "~>"
27
+ - - ">="
25
28
  - !ruby/object:Gem::Version
26
- version: '3.2'
29
+ version: '3.3'
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '5'
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: pry
29
35
  requirement: !ruby/object:Gem::Requirement
@@ -38,6 +44,76 @@ dependencies:
38
44
  - - "~>"
39
45
  - !ruby/object:Gem::Version
40
46
  version: '0.9'
47
+ - !ruby/object:Gem::Dependency
48
+ name: rake
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
61
+ - !ruby/object:Gem::Dependency
62
+ name: rdoc
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: '0'
68
+ type: :development
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
75
+ - !ruby/object:Gem::Dependency
76
+ name: travis
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ version: '0'
82
+ type: :development
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
89
+ - !ruby/object:Gem::Dependency
90
+ name: websocket-native
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ version: '0'
96
+ type: :development
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: '0'
103
+ - !ruby/object:Gem::Dependency
104
+ name: yard
105
+ requirement: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - ">="
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ type: :development
111
+ prerelease: false
112
+ version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - ">="
115
+ - !ruby/object:Gem::Version
116
+ version: '0'
41
117
  description:
42
118
  email:
43
119
  - Andrew@Kvalhe.im
@@ -47,14 +123,25 @@ extra_rdoc_files: []
47
123
  files:
48
124
  - ".gitignore"
49
125
  - ".travis.yml"
126
+ - Appraisals
50
127
  - Gemfile
51
128
  - LICENSE.md
52
129
  - README.md
53
130
  - Rakefile
54
131
  - features/console.feature
55
132
  - features/support/env.rb
56
- - fixtures/empty-app/config.rb
133
+ - fixtures/inactive/config.rb
134
+ - fixtures/typical/config.rb
135
+ - gemfiles/middleman_3.3.gemfile
136
+ - gemfiles/middleman_3.4.gemfile
137
+ - gemfiles/middleman_3_unreleased.gemfile
138
+ - gemfiles/middleman_4.0.gemfile
139
+ - gemfiles/middleman_4.1.gemfile
140
+ - gemfiles/middleman_4_unreleased.gemfile
57
141
  - lib/middleman-pry.rb
142
+ - lib/middleman-pry/extension.rb
143
+ - lib/middleman-pry/interaction.rb
144
+ - lib/middleman-pry/version.rb
58
145
  - lib/middleman_extension.rb
59
146
  - middleman-pry.gemspec
60
147
  homepage: https://github.com/AndrewKvalheim/middleman-pry
@@ -77,12 +164,13 @@ required_rubygems_version: !ruby/object:Gem::Requirement
77
164
  version: '0'
78
165
  requirements: []
79
166
  rubyforge_project:
80
- rubygems_version: 2.2.2
167
+ rubygems_version: 2.5.1
81
168
  signing_key:
82
169
  specification_version: 4
83
170
  summary: Use Pry as the Middleman console.
84
171
  test_files:
85
172
  - features/console.feature
86
173
  - features/support/env.rb
87
- - fixtures/empty-app/config.rb
174
+ - fixtures/inactive/config.rb
175
+ - fixtures/typical/config.rb
88
176
  has_rdoc: