Sha256: 9145be95b98247bb8063ecbd5f8b97b82b39a8a05e1ad8675dd85726d8f90588

Contents?: true

Size: 698 Bytes

Versions: 39

Compression:

Stored size: 698 Bytes

Contents

# frozen_string_literal: true

module Geet
  module Services
    class CreateLabel
      def initialize(repository, out: $stdout)
        @repository = repository
        @out = out
      end

      def execute(name, color: generate_random_color)
        label = create_label(name, color)

        @out.puts "Created with color ##{label.color}"

        label
      end

      private

      def create_label(name, color)
        @out.puts 'Creating label...'

        @repository.create_label(name, color)
      end

      # Return a 6-digits hex random color.
      def generate_random_color
        hex_number = rand(2**24).to_s(16)

        hex_number.rjust(6, '0')
      end
    end
  end
end

Version data entries

39 entries across 39 versions & 1 rubygems

Version Path
geet-0.22.0 lib/geet/services/create_label.rb
geet-0.21.0 lib/geet/services/create_label.rb
geet-0.19.0 lib/geet/services/create_label.rb
geet-0.18.0 lib/geet/services/create_label.rb
geet-0.17.0 lib/geet/services/create_label.rb
geet-0.16.0 lib/geet/services/create_label.rb
geet-0.15.0 lib/geet/services/create_label.rb
geet-0.14.0 lib/geet/services/create_label.rb
geet-0.13.0 lib/geet/services/create_label.rb
geet-0.12.0 lib/geet/services/create_label.rb
geet-0.11.0 lib/geet/services/create_label.rb
geet-0.10.0 lib/geet/services/create_label.rb
geet-0.9.0 lib/geet/services/create_label.rb
geet-0.8.0 lib/geet/services/create_label.rb
geet-0.7.0 lib/geet/services/create_label.rb
geet-0.6.0 lib/geet/services/create_label.rb
geet-0.5.0 lib/geet/services/create_label.rb
geet-0.4.4 lib/geet/services/create_label.rb
geet-0.4.3 lib/geet/services/create_label.rb
geet-0.4.2 lib/geet/services/create_label.rb