class Frameit::Options

Public Class Methods

available_options() click to toggle source
# File frameit/lib/frameit/options.rb, line 11
def self.available_options
  @options ||= [

    FastlaneCore::ConfigItem.new(key: :white,
                                   env_name: "FRAMEIT_WHITE_FRAME",
                                   description: "Use white device frames",
                                   type: Boolean,
                                   optional: true),
    FastlaneCore::ConfigItem.new(key: :silver,
                                   env_name: "FRAMEIT_SILVER_FRAME",
                                   description: "Use white device frames. Alias for :white",
                                   type: Boolean,
                                   optional: true),
    FastlaneCore::ConfigItem.new(key: :rose_gold,
                                   env_name: "FRAMEIT_ROSE_GOLD_FRAME",
                                   description: "Use rose gold device frames. Alias for :rose_gold",
                                   type: Boolean,
                                   optional: true),
    FastlaneCore::ConfigItem.new(key: :gold,
                                   env_name: "FRAMEIT_GOLD_FRAME",
                                   description: "Use gold device frames. Alias for :gold",
                                   type: Boolean,
                                   optional: true),
    FastlaneCore::ConfigItem.new(key: :force_device_type,
                                   env_name: "FRAMEIT_FORCE_DEVICE_TYPE",
                                   description: "Forces a given device type, useful for Mac screenshots, as their sizes vary",
                                   optional: true,
                                   verify_block: proc do |value|
                                     UI.user_error!("Invalid device type '#{value}'. Available values: " + Devices.all_device_names_without_apple.join(', ')) unless ConfigParser.supported_device?(value)
                                   end),
    FastlaneCore::ConfigItem.new(key: :use_legacy_iphone5s,
                                   env_name: "FRAMEIT_USE_LEGACY_IPHONE_5_S",
                                   description: "Use iPhone 5s instead of iPhone SE frames",
                                   default_value: false,
                                   type: Boolean),
    FastlaneCore::ConfigItem.new(key: :use_legacy_iphone6s,
                                   env_name: "FRAMEIT_USE_LEGACY_IPHONE_6_S",
                                   description: "Use iPhone 6s frames instead of iPhone 7 frames",
                                   default_value: false,
                                   type: Boolean),
    FastlaneCore::ConfigItem.new(key: :use_legacy_iphone7,
                                   env_name: "FRAMEIT_USE_LEGACY_IPHONE_7",
                                   description: "Use iPhone 7 frames instead of iPhone 8 frames",
                                   default_value: false,
                                   type: Boolean),
    FastlaneCore::ConfigItem.new(key: :use_legacy_iphonex,
                                   env_name: "FRAMEIT_USE_LEGACY_IPHONE_X",
                                   description: "Use iPhone X instead of iPhone XS frames",
                                   default_value: false,
                                   type: Boolean),
    FastlaneCore::ConfigItem.new(key: :use_legacy_iphonexr,
                                 env_name: "FRAMEIT_USE_LEGACY_IPHONE_XR",
                                 description: "Use iPhone XR instead of iPhone 11 frames",
                                 default_value: false,
                                 type: Boolean),
    FastlaneCore::ConfigItem.new(key: :use_legacy_iphonexs,
                                 env_name: "FRAMEIT_USE_LEGACY_IPHONE_XS",
                                 description: "Use iPhone XS instead of iPhone 11 Pro frames",
                                 default_value: false,
                                 type: Boolean),
    FastlaneCore::ConfigItem.new(key: :use_legacy_iphonexsmax,
                                 env_name: "FRAMEIT_USE_LEGACY_IPHONE_XS_MAX",
                                 description: "Use iPhone XS Max instead of iPhone 11 Pro Max frames",
                                 default_value: false,
                                 type: Boolean),
    FastlaneCore::ConfigItem.new(key: :force_orientation_block,
                                   type: :string_callback,
                                   description: "[Advanced] A block to customize your screenshots' device orientation",
                                   display_in_shell: false,
                                   optional: true,
                                   default_value: proc do |filename|
                                     f = filename.downcase
                                     if f.end_with?("force_landscapeleft")
                                       :landscape_left
                                     elsif f.end_with?("force_landscaperight")
                                       :landscape_right
                                     end
                                   end,
                                   default_value_dynamic: true),
    FastlaneCore::ConfigItem.new(key: :debug_mode,
                                   env_name: "FRAMEIT_DEBUG_MODE",
                                   description: "Output debug information in framed screenshots",
                                   default_value: false,
                                   type: Boolean),
    FastlaneCore::ConfigItem.new(key: :resume,
                                   env_name: "FRAMEIT_RESUME",
                                   description: "Resume frameit instead of reprocessing all screenshots",
                                   default_value: false,
                                   type: Boolean),
    FastlaneCore::ConfigItem.new(key: :use_platform,
                                   env_name: "FRAMEIT_USE_PLATFORM",
                                   description: "Choose a platform, the valid options are IOS, ANDROID and ANY (default is either general platform defined in the fastfile or IOS to ensure backward compatibility)",
                                   optional: true,
                                   default_value: Platform.symbol_to_constant(Fastlane::Helper::LaneHelper.current_platform),
                                   default_value_dynamic: true,
                                   verify_block: proc do |value|
                                     UI.user_error!("Invalid platform type '#{value}'. Available values are " + Platform.all_platforms.join(', ') + ".") unless ConfigParser.supported_platform?(value)
                                   end)
  ]
end