pakyow-core 1.0.0.rc1 → 1.0.0.rc2
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 +4 -4
- data/lib/pakyow/app/connection/behavior/verifier.rb +14 -6
- data/lib/pakyow/app/connection/session/cookie.rb +14 -3
- data/lib/pakyow/behavior/config.rb +1 -1
- data/lib/pakyow/behavior/sessions.rb +4 -2
- data/lib/pakyow/cli.rb +17 -2
- data/lib/pakyow/environment/behavior/config.rb +6 -0
- data/lib/pakyow/environment/behavior/verifier.rb +32 -0
- data/lib/pakyow/environment.rb +2 -0
- data/lib/pakyow/generators/project/default/Gemfile.erb +1 -5
- data/lib/pakyow/generators/project/default/frontend/layouts/default.html.erb +1 -1
- data/lib/pakyow/plugin/state.rb +3 -1
- data/lib/pakyow/task.rb +2 -0
- data/lib/pakyow/tasks/boot.rake +1 -1
- data/lib/pakyow/tasks/prototype.rake +20 -0
- metadata +15 -14
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 80c64e0fbe8b4edcb3b10b4ac4cd640fbd4e4fb501108798f418cf0829289d50
         | 
| 4 | 
            +
              data.tar.gz: ce5ebf0caebc91cbfd1c0c1463a9bcd9312fff947f1fef05aeec07df1833c486
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 9edb7dd91ee759baada1e3176644f9c7f409fce6f052f0dbe87dcdd7220ef946d22f90eb87add99a33ae5edfa0ed409e6104781fbf78fb8888b003a7c4fa27dc
         | 
| 7 | 
            +
              data.tar.gz: bfe086b797fbf4501b7a549caffe0797949421e9a71eb04d243a7c44041ff05ef7f55c75db134ff9b25731f5fec174695db8dba4af8a56117b773d09c65c18d0
         | 
| @@ -12,20 +12,28 @@ module Pakyow | |
| 12 12 |  | 
| 13 13 | 
             
                      apply_extension do
         | 
| 14 14 | 
             
                        after "initialize" do
         | 
| 15 | 
            -
                           | 
| 15 | 
            +
                          if app.config.session.enabled
         | 
| 16 | 
            +
                            session[:verifier_key] ||= Support::MessageVerifier.key
         | 
| 17 | 
            +
                          end
         | 
| 16 18 | 
             
                        end
         | 
| 17 19 | 
             
                      end
         | 
| 18 20 |  | 
| 19 21 | 
             
                      def verifier
         | 
| 20 | 
            -
                         | 
| 21 | 
            -
                           | 
| 22 | 
            -
             | 
| 22 | 
            +
                        if app.config.session.enabled
         | 
| 23 | 
            +
                          unless instance_variable_defined?(:@verifier)
         | 
| 24 | 
            +
                            @verifier = Support::MessageVerifier.new(verifier_key)
         | 
| 25 | 
            +
                          end
         | 
| 23 26 |  | 
| 24 | 
            -
             | 
| 27 | 
            +
                          @verifier
         | 
| 28 | 
            +
                        else
         | 
| 29 | 
            +
                          nil
         | 
| 30 | 
            +
                        end
         | 
| 25 31 | 
             
                      end
         | 
| 26 32 |  | 
| 27 33 | 
             
                      def verifier_key
         | 
| 28 | 
            -
                        session | 
| 34 | 
            +
                        if app.config.session.enabled
         | 
| 35 | 
            +
                          session[:verifier_key]
         | 
| 36 | 
            +
                        end
         | 
| 29 37 | 
             
                      end
         | 
| 30 38 | 
             
                    end
         | 
| 31 39 | 
             
                  end
         | 
| @@ -3,6 +3,7 @@ | |
| 3 3 | 
             
            require "base64"
         | 
| 4 4 |  | 
| 5 5 | 
             
            require "pakyow/support/indifferentize"
         | 
| 6 | 
            +
            require "pakyow/support/message_verifier"
         | 
| 6 7 |  | 
| 7 8 | 
             
            require "pakyow/app/connection/session/abstract"
         | 
| 8 9 |  | 
| @@ -12,7 +13,7 @@ module Pakyow | |
| 12 13 | 
             
                  module Session
         | 
| 13 14 | 
             
                    class Cookie < Abstract
         | 
| 14 15 | 
             
                      def initialize(connection, options)
         | 
| 15 | 
            -
                        if (cookie = connection.cookies[options.name]) &&  | 
| 16 | 
            +
                        if (cookie = connection.cookies[options.name]) && cookie.is_a?(Support::IndifferentHash)
         | 
| 16 17 | 
             
                          super(connection, options, Support::IndifferentHash.new(cookie[:value].to_h))
         | 
| 17 18 | 
             
                          connection.cookies[options.name][:value] = self
         | 
| 18 19 | 
             
                        else
         | 
| @@ -35,14 +36,24 @@ module Pakyow | |
| 35 36 | 
             
                      end
         | 
| 36 37 |  | 
| 37 38 | 
             
                      def to_s
         | 
| 38 | 
            -
                        Base64.urlsafe_encode64( | 
| 39 | 
            +
                        Base64.urlsafe_encode64(
         | 
| 40 | 
            +
                          Pakyow.verifier.sign(
         | 
| 41 | 
            +
                            Marshal.dump(to_h)
         | 
| 42 | 
            +
                          )
         | 
| 43 | 
            +
                        )
         | 
| 39 44 | 
             
                      end
         | 
| 40 45 |  | 
| 41 46 | 
             
                      private
         | 
| 42 47 |  | 
| 43 48 | 
             
                      def deserialize(connection, options)
         | 
| 44 49 | 
             
                        if value = connection.cookies[options.name]
         | 
| 45 | 
            -
                          Support::IndifferentHash.deep( | 
| 50 | 
            +
                          Support::IndifferentHash.deep(
         | 
| 51 | 
            +
                            Marshal.load(
         | 
| 52 | 
            +
                              Pakyow.verifier.verify(
         | 
| 53 | 
            +
                                Base64.urlsafe_decode64(value)
         | 
| 54 | 
            +
                              )
         | 
| 55 | 
            +
                            )
         | 
| 56 | 
            +
                          )
         | 
| 46 57 | 
             
                        else
         | 
| 47 58 | 
             
                          Support::IndifferentHash.new
         | 
| 48 59 | 
             
                        end
         | 
| @@ -25,8 +25,10 @@ module Pakyow | |
| 25 25 | 
             
                          {}
         | 
| 26 26 | 
             
                        end
         | 
| 27 27 | 
             
                      end
         | 
| 28 | 
            -
                    rescue LoadError  | 
| 29 | 
            -
                      # TODO:  | 
| 28 | 
            +
                    rescue LoadError => error
         | 
| 29 | 
            +
                      # TODO: Improve this with a specific "session object missing" error.
         | 
| 30 | 
            +
                      #
         | 
| 31 | 
            +
                      raise error
         | 
| 30 32 | 
             
                    end
         | 
| 31 33 | 
             
                  end
         | 
| 32 34 | 
             
                end
         | 
    
        data/lib/pakyow/cli.rb
    CHANGED
    
    | @@ -92,7 +92,13 @@ module Pakyow | |
| 92 92 | 
             
                    end
         | 
| 93 93 | 
             
                  end
         | 
| 94 94 |  | 
| 95 | 
            -
                  @ | 
| 95 | 
            +
                  case @command
         | 
| 96 | 
            +
                  when "prototype"
         | 
| 97 | 
            +
                    @options.delete(:env)
         | 
| 98 | 
            +
                  else
         | 
| 99 | 
            +
                    @options[:env] ||= ENV["APP_ENV"] || ENV["RACK_ENV"] || "development"
         | 
| 100 | 
            +
                  end
         | 
| 101 | 
            +
             | 
| 96 102 | 
             
                  ENV["APP_ENV"] = ENV["RACK_ENV"] = @options[:env]
         | 
| 97 103 | 
             
                end
         | 
| 98 104 |  | 
| @@ -115,7 +121,16 @@ module Pakyow | |
| 115 121 | 
             
                end
         | 
| 116 122 |  | 
| 117 123 | 
             
                def setup_environment
         | 
| 118 | 
            -
                  Pakyow.setup(env:  | 
| 124 | 
            +
                  Pakyow.setup(env: environment_to_setup)
         | 
| 125 | 
            +
                end
         | 
| 126 | 
            +
             | 
| 127 | 
            +
                def environment_to_setup
         | 
| 128 | 
            +
                  case @command
         | 
| 129 | 
            +
                  when "prototype"
         | 
| 130 | 
            +
                    :prototype
         | 
| 131 | 
            +
                  else
         | 
| 132 | 
            +
                    @options[:env]
         | 
| 133 | 
            +
                  end
         | 
| 119 134 | 
             
                end
         | 
| 120 135 |  | 
| 121 136 | 
             
                def load_tasks
         | 
| @@ -16,6 +16,8 @@ module Pakyow | |
| 16 16 | 
             
                      setting :freeze_on_boot, true
         | 
| 17 17 | 
             
                      setting :exit_on_boot_failure, true
         | 
| 18 18 | 
             
                      setting :timezone, :utc
         | 
| 19 | 
            +
                      setting :secrets, ["pakyow"]
         | 
| 20 | 
            +
             | 
| 19 21 | 
             
                      setting :connection_class do
         | 
| 20 22 | 
             
                        require "pakyow/connection"
         | 
| 21 23 | 
             
                        Connection
         | 
| @@ -41,6 +43,10 @@ module Pakyow | |
| 41 43 | 
             
                        setting :exit_on_boot_failure, false
         | 
| 42 44 | 
             
                      end
         | 
| 43 45 |  | 
| 46 | 
            +
                      defaults :production do
         | 
| 47 | 
            +
                        setting :secrets, [ENV["SECRET"].to_s.strip]
         | 
| 48 | 
            +
                      end
         | 
| 49 | 
            +
             | 
| 44 50 | 
             
                      configurable :server do
         | 
| 45 51 | 
             
                        setting :host, "localhost"
         | 
| 46 52 | 
             
                        setting :port, 3000
         | 
| @@ -0,0 +1,32 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            require "pakyow/support/extension"
         | 
| 4 | 
            +
            require "pakyow/support/message_verifier"
         | 
| 5 | 
            +
             | 
| 6 | 
            +
            module Pakyow
         | 
| 7 | 
            +
              module Environment
         | 
| 8 | 
            +
                module Behavior
         | 
| 9 | 
            +
                  module Verifier
         | 
| 10 | 
            +
                    extend Support::Extension
         | 
| 11 | 
            +
             | 
| 12 | 
            +
                    class_methods do
         | 
| 13 | 
            +
                      attr_reader :verifier
         | 
| 14 | 
            +
                    end
         | 
| 15 | 
            +
             | 
| 16 | 
            +
                    apply_extension do
         | 
| 17 | 
            +
                      before :boot do
         | 
| 18 | 
            +
                        config.secrets.reject! { |secret|
         | 
| 19 | 
            +
                          secret.nil? || secret.empty?
         | 
| 20 | 
            +
                        }
         | 
| 21 | 
            +
             | 
| 22 | 
            +
                        if config.secrets.any?
         | 
| 23 | 
            +
                          @verifier = Support::MessageVerifier.new(config.secrets[0])
         | 
| 24 | 
            +
                        else
         | 
| 25 | 
            +
                          raise "Pakyow will not boot without a secret configured in `Pakyow.config.secrets`"
         | 
| 26 | 
            +
                        end
         | 
| 27 | 
            +
                      end
         | 
| 28 | 
            +
                    end
         | 
| 29 | 
            +
                  end
         | 
| 30 | 
            +
                end
         | 
| 31 | 
            +
              end
         | 
| 32 | 
            +
            end
         | 
    
        data/lib/pakyow/environment.rb
    CHANGED
    
    | @@ -25,6 +25,7 @@ require "pakyow/environment/behavior/timezone" | |
| 25 25 | 
             
            require "pakyow/environment/behavior/running"
         | 
| 26 26 | 
             
            require "pakyow/environment/behavior/watching"
         | 
| 27 27 | 
             
            require "pakyow/environment/behavior/restarting"
         | 
| 28 | 
            +
            require "pakyow/environment/behavior/verifier"
         | 
| 28 29 |  | 
| 29 30 | 
             
            require "pakyow/environment/actions/dispatch"
         | 
| 30 31 | 
             
            require "pakyow/environment/actions/input_parser"
         | 
| @@ -112,6 +113,7 @@ module Pakyow | |
| 112 113 | 
             
              include Environment::Behavior::Running
         | 
| 113 114 | 
             
              include Environment::Behavior::Watching
         | 
| 114 115 | 
             
              include Environment::Behavior::Restarting
         | 
| 116 | 
            +
              include Environment::Behavior::Verifier
         | 
| 115 117 |  | 
| 116 118 | 
             
              include Support::Pipeline
         | 
| 117 119 | 
             
              action Actions::Logger
         | 
| @@ -9,15 +9,11 @@ gem "pakyow", github: "pakyow/pakyow", require: "pakyow/all" | |
| 9 9 | 
             
            gem "pakyow", "~> <%= Pakyow::VERSION %>", require: "pakyow/all"
         | 
| 10 10 | 
             
            <%- end -%>
         | 
| 11 11 |  | 
| 12 | 
            -
            # Use the puma application server.
         | 
| 13 | 
            -
            #
         | 
| 14 | 
            -
            gem "puma"
         | 
| 15 | 
            -
             | 
| 16 12 | 
             
            # Easily manage environment variables.
         | 
| 17 13 | 
             
            #
         | 
| 18 14 | 
             
            gem "dotenv"
         | 
| 19 15 |  | 
| 20 | 
            -
            group :development do
         | 
| 16 | 
            +
            group :development, :prototype do
         | 
| 21 17 | 
             
              # Speed up project boot time.
         | 
| 22 18 | 
             
              #
         | 
| 23 19 | 
             
              gem "bootsnap", require: false
         | 
    
        data/lib/pakyow/plugin/state.rb
    CHANGED
    
    | @@ -26,7 +26,9 @@ module Pakyow | |
| 26 26 | 
             
                        prefix: @plugin.class.mount_path
         | 
| 27 27 | 
             
                      },
         | 
| 28 28 | 
             
                      processor: Presenter::ProcessorCaller.new(
         | 
| 29 | 
            -
                        @plugin.parent.state(:processor)
         | 
| 29 | 
            +
                        @plugin.parent.state(:processor).map { |processor|
         | 
| 30 | 
            +
                          processor.new(@plugin.parent)
         | 
| 31 | 
            +
                        }
         | 
| 30 32 | 
             
                      )
         | 
| 31 33 | 
             
                    ).tap do |plugin_templates|
         | 
| 32 34 | 
             
                      if app_templates = @plugin.parent.state(:templates).find { |templates| templates.name == :default }
         | 
    
        data/lib/pakyow/task.rb
    CHANGED
    
    | @@ -293,6 +293,8 @@ module Pakyow | |
| 293 293 | 
             
                      arguments: @__arguments,
         | 
| 294 294 | 
             
                      options: CLI::GLOBAL_OPTIONS.select { |key, _|
         | 
| 295 295 | 
             
                        key == :env || args[1].to_a.include?(key)
         | 
| 296 | 
            +
                      }.reject { |key, _|
         | 
| 297 | 
            +
                        key == :env && args[0] == :prototype
         | 
| 296 298 | 
             
                      }.merge(@__options),
         | 
| 297 299 | 
             
                      flags: @__flags,
         | 
| 298 300 | 
             
                      task_args: args,
         | 
    
        data/lib/pakyow/tasks/boot.rake
    CHANGED
    
    | @@ -1,6 +1,6 @@ | |
| 1 1 | 
             
            # frozen_string_literal: true
         | 
| 2 2 |  | 
| 3 | 
            -
            desc "Boot the  | 
| 3 | 
            +
            desc "Boot the project"
         | 
| 4 4 | 
             
            option :host, "The host the server runs on (default: #{Pakyow.config.server.host})"
         | 
| 5 5 | 
             
            option :port, "The port the server runs on (default: #{Pakyow.config.server.port})"
         | 
| 6 6 | 
             
            flag :standalone, "Disable automatic reloading of changes"
         | 
| @@ -0,0 +1,20 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            desc "Boot the prototype"
         | 
| 4 | 
            +
            option :host, "The host the server runs on (default: #{Pakyow.config.server.host})"
         | 
| 5 | 
            +
            option :port, "The port the server runs on (default: #{Pakyow.config.server.port})"
         | 
| 6 | 
            +
            task :prototype, [:host, :port] do |_, args|
         | 
| 7 | 
            +
              if host = args[:host]
         | 
| 8 | 
            +
                Pakyow.config.server.host = host
         | 
| 9 | 
            +
              end
         | 
| 10 | 
            +
             | 
| 11 | 
            +
              if port = args[:port]
         | 
| 12 | 
            +
                Pakyow.config.server.port = port
         | 
| 13 | 
            +
              end
         | 
| 14 | 
            +
             | 
| 15 | 
            +
              if args[:standalone]
         | 
| 16 | 
            +
                Pakyow.config.server.proxy = false
         | 
| 17 | 
            +
              end
         | 
| 18 | 
            +
             | 
| 19 | 
            +
              Pakyow.run
         | 
| 20 | 
            +
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: pakyow-core
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 1.0.0. | 
| 4 | 
            +
              version: 1.0.0.rc2
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Bryan Powell
         | 
| @@ -9,7 +9,7 @@ authors: | |
| 9 9 | 
             
            autorequire: 
         | 
| 10 10 | 
             
            bindir: commands
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date: 2019-07- | 
| 12 | 
            +
            date: 2019-07-04 00:00:00.000000000 Z
         | 
| 13 13 | 
             
            dependencies:
         | 
| 14 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 15 | 
             
              name: pakyow-support
         | 
| @@ -17,42 +17,42 @@ dependencies: | |
| 17 17 | 
             
                requirements:
         | 
| 18 18 | 
             
                - - '='
         | 
| 19 19 | 
             
                  - !ruby/object:Gem::Version
         | 
| 20 | 
            -
                    version: 1.0.0. | 
| 20 | 
            +
                    version: 1.0.0.rc2
         | 
| 21 21 | 
             
              type: :runtime
         | 
| 22 22 | 
             
              prerelease: false
         | 
| 23 23 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 24 24 | 
             
                requirements:
         | 
| 25 25 | 
             
                - - '='
         | 
| 26 26 | 
             
                  - !ruby/object:Gem::Version
         | 
| 27 | 
            -
                    version: 1.0.0. | 
| 27 | 
            +
                    version: 1.0.0.rc2
         | 
| 28 28 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 29 29 | 
             
              name: async
         | 
| 30 30 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 31 31 | 
             
                requirements:
         | 
| 32 32 | 
             
                - - "~>"
         | 
| 33 33 | 
             
                  - !ruby/object:Gem::Version
         | 
| 34 | 
            -
                    version: '1. | 
| 34 | 
            +
                    version: '1.19'
         | 
| 35 35 | 
             
              type: :runtime
         | 
| 36 36 | 
             
              prerelease: false
         | 
| 37 37 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 38 38 | 
             
                requirements:
         | 
| 39 39 | 
             
                - - "~>"
         | 
| 40 40 | 
             
                  - !ruby/object:Gem::Version
         | 
| 41 | 
            -
                    version: '1. | 
| 41 | 
            +
                    version: '1.19'
         | 
| 42 42 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 43 43 | 
             
              name: async-http
         | 
| 44 44 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 45 45 | 
             
                requirements:
         | 
| 46 46 | 
             
                - - "~>"
         | 
| 47 47 | 
             
                  - !ruby/object:Gem::Version
         | 
| 48 | 
            -
                    version: 0. | 
| 48 | 
            +
                    version: 0.46.3
         | 
| 49 49 | 
             
              type: :runtime
         | 
| 50 50 | 
             
              prerelease: false
         | 
| 51 51 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 52 52 | 
             
                requirements:
         | 
| 53 53 | 
             
                - - "~>"
         | 
| 54 54 | 
             
                  - !ruby/object:Gem::Version
         | 
| 55 | 
            -
                    version: 0. | 
| 55 | 
            +
                    version: 0.46.3
         | 
| 56 56 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 57 57 | 
             
              name: async-io
         | 
| 58 58 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -87,28 +87,28 @@ dependencies: | |
| 87 87 | 
             
                requirements:
         | 
| 88 88 | 
             
                - - "~>"
         | 
| 89 89 | 
             
                  - !ruby/object:Gem::Version
         | 
| 90 | 
            -
                    version: '1. | 
| 90 | 
            +
                    version: '1.4'
         | 
| 91 91 | 
             
              type: :runtime
         | 
| 92 92 | 
             
              prerelease: false
         | 
| 93 93 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 94 94 | 
             
                requirements:
         | 
| 95 95 | 
             
                - - "~>"
         | 
| 96 96 | 
             
                  - !ruby/object:Gem::Version
         | 
| 97 | 
            -
                    version: '1. | 
| 97 | 
            +
                    version: '1.4'
         | 
| 98 98 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 99 99 | 
             
              name: dry-types
         | 
| 100 100 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 101 101 | 
             
                requirements:
         | 
| 102 102 | 
             
                - - "~>"
         | 
| 103 103 | 
             
                  - !ruby/object:Gem::Version
         | 
| 104 | 
            -
                    version: '1. | 
| 104 | 
            +
                    version: '1.1'
         | 
| 105 105 | 
             
              type: :runtime
         | 
| 106 106 | 
             
              prerelease: false
         | 
| 107 107 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 108 108 | 
             
                requirements:
         | 
| 109 109 | 
             
                - - "~>"
         | 
| 110 110 | 
             
                  - !ruby/object:Gem::Version
         | 
| 111 | 
            -
                    version: '1. | 
| 111 | 
            +
                    version: '1.1'
         | 
| 112 112 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 113 113 | 
             
              name: filewatcher
         | 
| 114 114 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -247,6 +247,7 @@ files: | |
| 247 247 | 
             
            - lib/pakyow/environment/behavior/running.rb
         | 
| 248 248 | 
             
            - lib/pakyow/environment/behavior/silencing.rb
         | 
| 249 249 | 
             
            - lib/pakyow/environment/behavior/timezone.rb
         | 
| 250 | 
            +
            - lib/pakyow/environment/behavior/verifier.rb
         | 
| 250 251 | 
             
            - lib/pakyow/environment/behavior/watching.rb
         | 
| 251 252 | 
             
            - lib/pakyow/error.rb
         | 
| 252 253 | 
             
            - lib/pakyow/errors.rb
         | 
| @@ -306,6 +307,7 @@ files: | |
| 306 307 | 
             
            - lib/pakyow/tasks/info/endpoints.rake
         | 
| 307 308 | 
             
            - lib/pakyow/tasks/irb.rake
         | 
| 308 309 | 
             
            - lib/pakyow/tasks/prelaunch.rake
         | 
| 310 | 
            +
            - lib/pakyow/tasks/prototype.rake
         | 
| 309 311 | 
             
            - lib/pakyow/types.rb
         | 
| 310 312 | 
             
            - lib/pakyow/validations.rb
         | 
| 311 313 | 
             
            - lib/pakyow/validations/acceptance.rb
         | 
| @@ -334,8 +336,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 334 336 | 
             
                - !ruby/object:Gem::Version
         | 
| 335 337 | 
             
                  version: 1.3.1
         | 
| 336 338 | 
             
            requirements: []
         | 
| 337 | 
            -
             | 
| 338 | 
            -
            rubygems_version: 2.7.6
         | 
| 339 | 
            +
            rubygems_version: 3.0.3
         | 
| 339 340 | 
             
            signing_key: 
         | 
| 340 341 | 
             
            specification_version: 4
         | 
| 341 342 | 
             
            summary: Pakyow Core
         |