Class: Produce::Group
- Inherits:
-
Object
- Object
- Produce::Group
- Defined in:
- lib/produce/group.rb
Instance Method Summary collapse
- #app_exists? ⇒ Boolean
- #app_group_exists?(identifier) ⇒ Boolean
- #app_identifier ⇒ Object
- #associate(_options, args) ⇒ Object
- #create(options, _args) ⇒ Object
- #login ⇒ Object
- #valid_name_for(input) ⇒ Object
Instance Method Details
#app_exists? ⇒ Boolean
86 87 88 |
# File 'lib/produce/group.rb', line 86 def app_exists? Spaceship.app.find(app_identifier) != nil end |
#app_group_exists?(identifier) ⇒ Boolean
82 83 84 |
# File 'lib/produce/group.rb', line 82 def app_group_exists?(identifier) Spaceship.app_group.find(identifier) != nil end |
#app_identifier ⇒ Object
78 79 80 |
# File 'lib/produce/group.rb', line 78 def app_identifier Produce.config[:app_identifier].to_s end |
#associate(_options, args) ⇒ Object
42 43 44 45 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/produce/group.rb', line 42 def associate(, args) login if !app_exists? Helper.log.info "[DevCenter] App '#{Produce.config[:app_identifier]}' does not exist, nothing to associate with the groups".red else app = Spaceship.app.find(app_identifier) raise "Something went wrong when fetching the app - it's not listed in the apps list" if app.nil? new_groups = [] Helper.log.info "Validating groups before association" for group_identifier in args if !app_group_exists? group_identifier Helper.log.info "[DevCenter] App group '#{group_identifier}' does not exist, please create it first, skipping for now".red else new_groups.push(Spaceship.app_group.find(group_identifier)) end end Helper.log.info "Finalising association with #{new_groups.count} groups" app.associate_groups(new_groups) Helper.log.info "Done!".green end return true end |
#create(options, _args) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/produce/group.rb', line 6 def create(, _args) login ENV["CREATED_NEW_GROUP_ID"] = Time.now.to_i.to_s group_identifier = .group_identifier || ask("Group identifier: ") if app_group_exists? group_identifier Helper.log.info "[DevCenter] Group '#{.group_name} (#{.group_identifier})' already exists, nothing to do on the Dev Center".green ENV["CREATED_NEW_GROUP_ID"] = nil # Nothing to do here else unless .group_name group_name = group_identifier.split(".").map(&:capitalize).reverse.join(' ') group_name = valid_name_for(group_name) else group_name = valid_name_for(.group_name) end Helper.log.info "Creating new app group '#{group_name}' with identifier '#{group_identifier}' on the Apple Dev Center".green group = Spaceship.app_group.create!(group_id: group_identifier, name: group_name) Helper.log.info "Created group #{group.app_group_id}" raise "Something went wrong when creating the new app group - it's not listed in the app groups list" unless app_group_exists? group_identifier ENV["CREATED_NEW_GROUP_ID"] = Time.now.to_i.to_s Helper.log.info "Finished creating new app group '#{group_name}' on the Dev Center".green end return true end |
#login ⇒ Object
71 72 73 74 75 76 |
# File 'lib/produce/group.rb', line 71 def login Helper.log.info "Starting login with user '#{Produce.config[:username]}'" Spaceship.login(Produce.config[:username], nil) Spaceship.select_team Helper.log.info "Successfully logged in" end |
#valid_name_for(input) ⇒ Object
90 91 92 93 |
# File 'lib/produce/group.rb', line 90 def valid_name_for(input) latinazed = input.to_slug.transliterate.to_s # remove accents latinazed.gsub(/[^0-9A-Za-z\d\s]/, '') # remove non-valid characters end |