Class: Miteru::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/miteru/configuration.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfiguration

Returns a new instance of Configuration.



55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# File 'lib/miteru/configuration.rb', line 55

def initialize
  @auto_download = false
  @ayashige = false
  @directory_traveling = false
  @download_to = "/tmp"
  @post_to_slack = false
  @size = 100
  @threads = Parallel.processor_count
  @verbose = false
  @database = ENV.fetch("MITERU_DATABASE", "miteru.db")
  @file_maxsize = ENV.fetch("FILE_MAXSIZE", 1024 * 1024 * 100).to_i

  @slack_webhook_url = ENV.fetch("SLACK_WEBHOOK_URL", nil)
  @slack_channel = ENV.fetch("SLACK_CHANNEL", "#general")

  @urlscan_api_key = ENV.fetch("URLSCAN_API_KEY", nil)
  @urlscan_submit_visibility = ENV.fetch("URLSCAN_SUBMIT_VISIBILITY", "public")

  @valid_extensions = [".zip", ".rar", ".7z", ".tar", ".gz"].freeze
  @valid_mime_types = ["application/zip", "application/vnd.rar", "application/x-7z-compressed", "application/x-tar", "application/gzip"]
end

Instance Attribute Details

#auto_downloadBoolean

Returns:

  • (Boolean)


8
9
10
# File 'lib/miteru/configuration.rb', line 8

def auto_download
  @auto_download
end

#ayashigeBoolean

Returns:

  • (Boolean)


11
12
13
# File 'lib/miteru/configuration.rb', line 11

def ayashige
  @ayashige
end

#databaseString

Returns:

  • (String)


32
33
34
# File 'lib/miteru/configuration.rb', line 32

def database
  @database
end

#directory_travelingBoolean

Returns:

  • (Boolean)


14
15
16
# File 'lib/miteru/configuration.rb', line 14

def directory_traveling
  @directory_traveling
end

#download_toString

Returns:

  • (String)


17
18
19
# File 'lib/miteru/configuration.rb', line 17

def download_to
  @download_to
end

#file_maxsizeInteger (readonly)

Returns:

  • (Integer)


53
54
55
# File 'lib/miteru/configuration.rb', line 53

def file_maxsize
  @file_maxsize
end

#post_to_slackBoolean

Returns:

  • (Boolean)


20
21
22
# File 'lib/miteru/configuration.rb', line 20

def post_to_slack
  @post_to_slack
end

#sizeInteger

Returns:

  • (Integer)


23
24
25
# File 'lib/miteru/configuration.rb', line 23

def size
  @size
end

#slack_channelString

Returns:

  • (String)


38
39
40
# File 'lib/miteru/configuration.rb', line 38

def slack_channel
  @slack_channel
end

#slack_webhook_urlString?

Returns:

  • (String, nil)


35
36
37
# File 'lib/miteru/configuration.rb', line 35

def slack_webhook_url
  @slack_webhook_url
end

#threadsInteger

Returns:

  • (Integer)


26
27
28
# File 'lib/miteru/configuration.rb', line 26

def threads
  @threads
end

#urlscan_api_keyString

Returns:

  • (String)


41
42
43
# File 'lib/miteru/configuration.rb', line 41

def urlscan_api_key
  @urlscan_api_key
end

#urlscan_submit_visibilityString

Returns:

  • (String)


44
45
46
# File 'lib/miteru/configuration.rb', line 44

def urlscan_submit_visibility
  @urlscan_submit_visibility
end

#valid_extensionsArray<String> (readonly)

Returns:

  • (Array<String>)


47
48
49
# File 'lib/miteru/configuration.rb', line 47

def valid_extensions
  @valid_extensions
end

#valid_mime_typesArray<String> (readonly)

Returns:

  • (Array<String>)


50
51
52
# File 'lib/miteru/configuration.rb', line 50

def valid_mime_types
  @valid_mime_types
end

#verboseBoolean

Returns:

  • (Boolean)


29
30
31
# File 'lib/miteru/configuration.rb', line 29

def verbose
  @verbose
end

Instance Method Details

#auto_download?Boolean

Returns:

  • (Boolean)


77
78
79
# File 'lib/miteru/configuration.rb', line 77

def auto_download?
  @auto_download
end

#ayashige?Boolean

Returns:

  • (Boolean)


81
82
83
# File 'lib/miteru/configuration.rb', line 81

def ayashige?
  @ayashige
end

#directory_traveling?Boolean

Returns:

  • (Boolean)


85
86
87
# File 'lib/miteru/configuration.rb', line 85

def directory_traveling?
  @directory_traveling
end

#post_to_slack?Boolean

Returns:

  • (Boolean)


89
90
91
# File 'lib/miteru/configuration.rb', line 89

def post_to_slack?
  @post_to_slack
end

#slack_webhook_url?Boolean

Returns:

  • (Boolean)


97
98
99
# File 'lib/miteru/configuration.rb', line 97

def slack_webhook_url?
  !@slack_webhook_url.nil?
end

#urlscan_api_key?Boolean

Returns:

  • (Boolean)


101
102
103
# File 'lib/miteru/configuration.rb', line 101

def urlscan_api_key?
  !@urlscan_api_key.nil?
end

#verbose?Boolean

Returns:

  • (Boolean)


93
94
95
# File 'lib/miteru/configuration.rb', line 93

def verbose?
  @verbose
end