pakyow-support 1.0.0.rc5 → 1.0.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
2
  SHA256:
3
- metadata.gz: 831b48a22826b9cf91733cc556d20ba473228de5a00f21a289a2946460f528c8
4
- data.tar.gz: a4d69d49a73274720fdb75f5dcfda16bd1583a28b5cca3a715533d269f97b400
3
+ metadata.gz: acd5a14c0f5717ee81f6ca76663ebacf566864b462367ec93de6900216aeea15
4
+ data.tar.gz: 01c4cc7c7521c7e0273417bc8096eac678e42a48e805ca81350490b13e62c14d
5
5
  SHA512:
6
- metadata.gz: 8d776ab46b76b42c365a62bb7cee71c012eab57b35f4fa886bb6ae19a39a6e0e448664dd1ebb57d128e9c1a29f6894b3c7272d038351bf8f533317b5048a982e
7
- data.tar.gz: d2a5b2c127c512d2c422a5edc62a2eabe0032a3b850cc28b1acfaa0ec5f2a9d0b06effc2bd7eddad4d23902234d90fc3de6b349851b89191955071891e4b1426
6
+ metadata.gz: 1fdfa3bdc3ca7800bf313953f30b662711ae880727b19cd0efbd8a7ee8520fbe81ab1430c3a1e51a730c39b27be6164170a1ad67725af1c10656346003c2a485
7
+ data.tar.gz: d60828a4ea1a03ae02795a98186a4c7d96c0be48c991165c55bb620133a66ca922596c164f4a12dbddd4dd91e6f918b25b0bc1193f27f95e4b79cac88e6ae76f
data/CHANGELOG.md CHANGED
@@ -1,25 +1,5 @@
1
- # 1.0.0
1
+ # UNRELEASED
2
2
 
3
- * ADDED `Hookable` module
3
+ # 1.0
4
4
 
5
- # 0.11.0
6
-
7
- * Moves everything into the Pakyow namespace
8
- * Adds `FalseClass` and `TrueClass` as uncloneable types
9
-
10
- # 0.10.1 / 2015-10-19
11
-
12
- * Fixes require path in gemspec
13
-
14
- # 0.10.0 / 2015-10-19
15
-
16
- * Adds helper method for capitalizing a string
17
- * Ported all tests to rspec
18
-
19
- # 0.9.1 / 2014-12-06
20
-
21
- * No changes -- bumped version to be consistent
22
-
23
- # 0.9.0 / 2014-11-09
24
-
25
- * Initial gem release
5
+ * Hello, Web
@@ -98,16 +98,16 @@ module Pakyow
98
98
  # end
99
99
  # end
100
100
  #
101
- # class App
101
+ # class Application
102
102
  # include Pakyow::Support::Definable
103
103
  #
104
104
  # stateful :person, Person
105
105
  # end
106
106
  #
107
- # john = App.person 'John', Date.new(1988, 8, 13) do
107
+ # john = Application.person 'John', Date.new(1988, 8, 13) do
108
108
  # end
109
109
  #
110
- # App.person 'Sofie', Date.new(2015, 9, 6) do
110
+ # Application.person 'Sofie', Date.new(2015, 9, 6) do
111
111
  # befriend(john)
112
112
  # end
113
113
  #
@@ -17,8 +17,10 @@ module Pakyow
17
17
  end
18
18
 
19
19
  attr_reader :__object_name
20
+ attr_accessor :__source_location
20
21
 
21
22
  def make(object_name, within: nil, set_const: true, **kwargs, &block)
23
+ @__source_location = block&.source_location
22
24
  object_name = build_object_name(object_name, within: within)
23
25
  object = find_or_define_object(object_name, kwargs, set_const)
24
26
 
@@ -5,14 +5,14 @@ require "pakyow/support/class_state"
5
5
  module Pakyow
6
6
  module Support
7
7
  # Provides pipeline behavior. Pipeline objects can define actions to be called in order on an
8
- # instance of the pipelined object. Each action can act on the state passed to it. Any action
8
+ # instance of the pipelined object. Each action can act on the object passed to it. Any action
9
9
  # can halt the pipeline, causing the result to be immediately returned without calling other
10
- # actions. State passed through the pipeline should include {Pipelined::Object}.
10
+ # actions. Objects passed through the pipeline should include {Pipeline::Object}.
11
11
  #
12
- # See {Pakyow::App} and {Pakyow::Routing::Controller} for examples of more complex pipelines.
12
+ # See {Pakyow::Application} and {Pakyow::Routing::Controller} for more examples.
13
13
  #
14
14
  # @example
15
- # class App
15
+ # class Application
16
16
  # include Pakyow::Support::Pipeline
17
17
  #
18
18
  # action :foo
@@ -41,12 +41,12 @@ module Pakyow
41
41
  # end
42
42
  # end
43
43
  #
44
- # App.new.call(Result.new).results
44
+ # Application.new.call(Result.new).results
45
45
  # => ["foo", "bar"]
46
46
  #
47
47
  # = Modules
48
48
  #
49
- # Pipeline behavior can be added to a module and then used in a pipelined object.
49
+ # Pipeline actions can be defined in a module and included in a pipelined object.
50
50
  #
51
51
  # @example
52
52
  # module VerifyRequest
@@ -59,7 +59,7 @@ module Pakyow
59
59
  # end
60
60
  # end
61
61
  #
62
- # class App
62
+ # class Application
63
63
  # include Pakyow::Support::Pipeline
64
64
  #
65
65
  # use_pipeline VerifyRequest
@@ -262,7 +262,7 @@ module Pakyow
262
262
 
263
263
  def call(object, stack = @stack.dup)
264
264
  catch :halt do
265
- until stack.empty? || (object.respond_to?(:halted?) && object.halted?)
265
+ until stack.empty? || object.halted?
266
266
  action = stack.shift
267
267
  if action.arity == 0
268
268
  action.call do
@@ -12,26 +12,27 @@ module Pakyow
12
12
 
13
13
  def pipelined
14
14
  tap do
15
- @pipelined = true
15
+ @__pipelined = true
16
16
  end
17
17
  end
18
18
 
19
19
  def pipelined?
20
- @pipelined == true
20
+ @__pipelined == true
21
21
  end
22
22
 
23
23
  def halt
24
- @halted = true
24
+ @__halted = true
25
25
  throw :halt, true
26
26
  end
27
27
 
28
28
  def halted?
29
- @halted == true
29
+ @__halted == true
30
30
  end
31
31
 
32
32
  module Initializer
33
33
  def initialize(*args)
34
- @pipelined, @halted = false
34
+ @__halted = false
35
+ @__pipelined = false
35
36
  super
36
37
  end
37
38
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pakyow-support
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.rc5
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bryan Powell
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-07-15 00:00:00.000000000 Z
11
+ date: 2019-07-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: concurrent-ruby
@@ -81,7 +81,7 @@ dependencies:
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0.9'
83
83
  description: Supporting code for Pakyow
84
- email: bryan@metabahn.com
84
+ email: bryan@bryanp.org
85
85
  executables: []
86
86
  extensions: []
87
87
  extra_rdoc_files: []
@@ -123,7 +123,7 @@ files:
123
123
  - lib/pakyow/support/serializer.rb
124
124
  - lib/pakyow/support/silenceable.rb
125
125
  - lib/pakyow/support/string_builder.rb
126
- homepage: https://pakyow.org
126
+ homepage: https://pakyow.com
127
127
  licenses:
128
128
  - LGPL-3.0
129
129
  metadata: {}
@@ -138,9 +138,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
138
138
  version: 2.5.0
139
139
  required_rubygems_version: !ruby/object:Gem::Requirement
140
140
  requirements:
141
- - - ">"
141
+ - - ">="
142
142
  - !ruby/object:Gem::Version
143
- version: 1.3.1
143
+ version: '0'
144
144
  requirements: []
145
145
  rubygems_version: 3.0.3
146
146
  signing_key: