Sha256: de7663220b21ea04a3ea9bc0532fb87cdb57d6b767470d8784b92112f9e121ef

Contents?: true

Size: 1.25 KB

Versions: 64

Compression:

Stored size: 1.25 KB

Contents

module Eco
  module API
    class Session
      class Config
        class Files < BaseConfig

          def initialize(config:)
            super(config: config)
            @validations = {}
          end

          def working_directory=(path)
            self["dir"] = path
          end

          def working_directory
            if config.apis.active_api&.one_off?
              one_off_dir = File.join("one_off", config.apis.active_name.to_s)
              unless full_path = Eco::Data::Files::Directory.new(one_off_dir).create
                raise "Could not create the folder '#{full_path}'"
              end
              self["dir"] = one_off_dir
            end
            self["dir"]
          end

          def timestamp_pattern=(pattern)
            self["timestamp_pattern"] = pattern
          end

          def timestamp_pattern
            self["timestamp_pattern"]
          end

          def add_validation(format)
            raise "Block must be given" unless block_given?
            @validations[format] = Proc.new
          end

          def validate(format, input)
            @validations[format].call(input) if  @validations.key?(format)
          end
        end
      end
    end
  end
end

Version data entries

64 entries across 64 versions & 1 rubygems

Version Path
eco-helpers-2.0.40 lib/eco/api/session/config/files.rb
eco-helpers-2.0.39 lib/eco/api/session/config/files.rb
eco-helpers-2.0.38 lib/eco/api/session/config/files.rb
eco-helpers-2.0.37 lib/eco/api/session/config/files.rb
eco-helpers-2.0.36 lib/eco/api/session/config/files.rb
eco-helpers-2.0.35 lib/eco/api/session/config/files.rb
eco-helpers-2.0.34 lib/eco/api/session/config/files.rb
eco-helpers-2.0.33 lib/eco/api/session/config/files.rb
eco-helpers-2.0.32 lib/eco/api/session/config/files.rb
eco-helpers-2.0.31 lib/eco/api/session/config/files.rb
eco-helpers-2.0.30 lib/eco/api/session/config/files.rb
eco-helpers-2.0.29 lib/eco/api/session/config/files.rb
eco-helpers-2.0.28 lib/eco/api/session/config/files.rb
eco-helpers-2.0.27 lib/eco/api/session/config/files.rb
eco-helpers-2.0.26 lib/eco/api/session/config/files.rb
eco-helpers-2.0.25 lib/eco/api/session/config/files.rb
eco-helpers-2.0.24 lib/eco/api/session/config/files.rb
eco-helpers-2.0.23 lib/eco/api/session/config/files.rb
eco-helpers-2.0.22 lib/eco/api/session/config/files.rb
eco-helpers-2.0.21 lib/eco/api/session/config/files.rb