Class: Middleman::S3Sync::Options

Inherits:
Object
  • Object
show all
Defined in:
lib/middleman/s3_sync/options.rb

Constant Summary collapse

OPTIONS =
[
  :prefix,
  :http_prefix,
  :acl,
  :bucket,
  :endpoint,
  :region,
  :aws_access_key_id,
  :aws_secret_access_key,
  :aws_session_token,
  :after_build,
  :delete,
  :encryption,
  :build_dir,
  :force,
  :prefer_gzip,
  :reduced_redundancy_storage,
  :path_style,
  :version_bucket,
  :dry_run,
  :verbose,
  :content_types,
  :ignore_paths,
  :index_document,
  :error_document,
  :routing_rules,
  :scan_build_dir,
  :cloudfront_distribution_id,
  :cloudfront_invalidate,
  :cloudfront_invalidate_all,
  :cloudfront_invalidation_batch_size,
  :cloudfront_invalidation_max_retries,
  :cloudfront_invalidation_batch_delay,
  :cloudfront_wait,
  :after_s3_sync
]

Instance Method Summary collapse

Instance Method Details

#aclObject



42
43
44
45
46
47
48
# File 'lib/middleman/s3_sync/options.rb', line 42

def acl
  # If @acl is explicitly set to empty string or false, return nil (for buckets with ACLs disabled)
  # If @acl is nil and was never set, return default 'public-read'
  # Otherwise return the set value
  return nil if @acl == '' || @acl == false
  @acl_explicitly_set ? @acl : (@acl || 'public-read')
end

#acl=(value) ⇒ Object



50
51
52
53
# File 'lib/middleman/s3_sync/options.rb', line 50

def acl=(value)
  @acl_explicitly_set = true
  @acl = value
end

#acl_enabled?Boolean

Returns:

  • (Boolean)


55
56
57
58
59
60
# File 'lib/middleman/s3_sync/options.rb', line 55

def acl_enabled?
  # ACLs are disabled if explicitly set to nil, empty string, or false
  return false if @acl_explicitly_set && (@acl.nil? || @acl == '' || @acl == false)
  # Otherwise ACLs are enabled (using default or explicit value)
  true
end

#after_buildObject



86
87
88
# File 'lib/middleman/s3_sync/options.rb', line 86

def after_build
  @after_build.nil? ? false : @after_build
end

#aws_access_key_idObject



66
67
68
# File 'lib/middleman/s3_sync/options.rb', line 66

def aws_access_key_id
  @aws_access_key_id || ENV['AWS_ACCESS_KEY_ID']
end

#aws_access_key_id=(aws_access_key_id) ⇒ Object



62
63
64
# File 'lib/middleman/s3_sync/options.rb', line 62

def aws_access_key_id=(aws_access_key_id)
  @aws_access_key_id = aws_access_key_id if aws_access_key_id
end

#aws_secret_access_keyObject



74
75
76
# File 'lib/middleman/s3_sync/options.rb', line 74

def aws_secret_access_key
  @aws_secret_access_key || ENV['AWS_SECRET_ACCESS_KEY']
end

#aws_secret_access_key=(aws_secret_access_key) ⇒ Object



70
71
72
# File 'lib/middleman/s3_sync/options.rb', line 70

def aws_secret_access_key=(aws_secret_access_key)
  @aws_secret_access_key = aws_secret_access_key if aws_secret_access_key
end

#deleteObject



82
83
84
# File 'lib/middleman/s3_sync/options.rb', line 82

def delete
  @delete.nil? ? true : @delete
end

#encryptionObject



78
79
80
# File 'lib/middleman/s3_sync/options.rb', line 78

def encryption
  @encryption.nil? ? false : @encryption
end

#ignore_pathsObject



98
99
100
# File 'lib/middleman/s3_sync/options.rb', line 98

def ignore_paths
  @ignore_paths.nil? ? [] : @ignore_paths
end

#path_styleObject



94
95
96
# File 'lib/middleman/s3_sync/options.rb', line 94

def path_style
  (@path_style.nil? ? true : @path_style)
end

#prefer_gzipObject



90
91
92
# File 'lib/middleman/s3_sync/options.rb', line 90

def prefer_gzip
  (@prefer_gzip.nil? ? true : @prefer_gzip)
end

#prefixObject



111
112
113
# File 'lib/middleman/s3_sync/options.rb', line 111

def prefix
  @prefix.nil? || @prefix.empty? ? "" : "#{@prefix}/"
end

#prefix=(prefix) ⇒ Object



102
103
104
105
106
107
108
109
# File 'lib/middleman/s3_sync/options.rb', line 102

def prefix=(prefix)
  http_prefix = @http_prefix ? @http_prefix.sub(%r{^/}, "") : ""
  if http_prefix.split("/").first == prefix
    @prefix = ""
  else
    @prefix = prefix
  end
end

#routing_rulesObject



119
120
121
# File 'lib/middleman/s3_sync/options.rb', line 119

def routing_rules
  @routing_rules || []
end

#scan_build_dirObject



123
124
125
# File 'lib/middleman/s3_sync/options.rb', line 123

def scan_build_dir
  @scan_build_dir.nil? ? false : @scan_build_dir
end

#version_bucketObject



115
116
117
# File 'lib/middleman/s3_sync/options.rb', line 115

def version_bucket
  @version_bucket.nil? ? false : @version_bucket
end