Class: Sessel::Ask
- Inherits:
-
Object
- Object
- Sessel::Ask
- Defined in:
- lib/sessel/ask.rb
Constant Summary collapse
- @@cli =
HighLine.new
- @@ses =
nil- @@s3 =
nil
Class Method Summary collapse
- .for_email_address ⇒ Object
- .for_region ⇒ Object
- .for_rule_set_name(solution_name) ⇒ Object
- .for_s3_bucket(solution_name, region) ⇒ Object
Class Method Details
.for_email_address ⇒ Object
41 42 43 44 |
# File 'lib/sessel/ask.rb', line 41 def self.for_email_address() return @@cli.ask('What is the email address you would like to receive emails at?') { |q| q.validate = /\w@[a-z0-9_-].[a-z]/ } end |
.for_region ⇒ Object
12 13 14 15 16 17 18 19 20 21 |
# File 'lib/sessel/ask.rb', line 12 def self.for_region() region = nil @@cli.choose do || .prompt = "Choose AWS region you want to setup SES in?" .choices("us-east-1", "us-west-2", "eu-west-1") { |r| region = r } end @@ses = Aws::SES::Client.new(region: region) @@s3 = Aws::S3::Client.new(region: region) return region end |
.for_rule_set_name(solution_name) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/sessel/ask.rb', line 23 def self.for_rule_set_name(solution_name) chosen_rule_set_name = nil @@cli.choose do || solution_rule_set_name = "#{solution_name}RuleSet" .prompt = 'Choose receipt rule-set?' resp = @@ses.list_receipt_rule_sets add_new_rule_set = true resp.to_h[:rule_sets].each { |rule_set| .choice(rule_set[:name]) { chosen_rule_set_name = rule_set[:name] } add_new_rule_set = false if (rule_set[:name] =~ /^#{Regexp.escape(solution_rule_set_name)}$/) } .choice("Create new: #{solution_rule_set_name}") { chosen_rule_set_name = solution_rule_set_name } if add_new_rule_set end return chosen_rule_set_name end |
.for_s3_bucket(solution_name, region) ⇒ Object
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
# File 'lib/sessel/ask.rb', line 46 def self.for_s3_bucket(solution_name, region) chosen_bucket = nil @@cli.choose do || solution_bucket_name = solution_name.downcase .prompt = "Choose S3 bucket to put the emails in" resp = @@s3.list_buckets() add_new_bucket = true resp.to_h[:buckets].each { |bucket| .choice(bucket[:name]) { chosen_bucket = bucket[:name] } add_new_bucket = false if (bucket[:name] =~ /^#{Regexp.escape(solution_bucket_name)}$/) } .choice("Create new: #{solution_bucket_name}") { @@s3.create_bucket({ acl: "private", bucket: solution_bucket_name, create_bucket_configuration: { location_constraint: region } }) chosen_bucket = solution_name } if add_new_bucket end return chosen_bucket end |