Class: MISP::Feed

Inherits:
Base
  • Object
show all
Defined in:
lib/misp/feed.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**attributes) ⇒ Feed

Returns a new instance of Feed.



50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# File 'lib/misp/feed.rb', line 50

def initialize(**attributes)
  attributes = normalize_attributes(**attributes)

  @id = attributes.dig(:id)
  @name = attributes.dig(:name) || "feed name"
  @provider = attributes.dig(:provider) || "my provider"
  @url = attributes.dig(:url) || "http://example.com"
  @rules = attributes.dig(:rules) || ""
  @enabled = attributes.dig(:enabled)
  @distribution = attributes.dig(:distribution)
  @sharing_group_id = attributes.dig(:sharing_group_id)
  @tag_id = attributes.dig(:tag_id) || "0"
  @default = attributes.dig(:default) || true
  @source_format = attributes.dig(:source_format) || "misp"
  @fixed_event = attributes.dig(:fixed_event) || true
  @delta_merge = attributes.dig(:delta_merge) || false
  @event_id = attributes.dig(:event_id) || "0"
  @publish = attributes.dig(:publish) || true
  @override_ids = attributes.dig(:override_ids) || false
  @settings = attributes.dig(:settings) || ""
  @input_source = attributes.dig(:input_source) || "network"
  @delete_local_file = attributes.dig(:delete_local_file) || false
  @lookup_visible = attributes.dig(:lookup_visible) || true
  @headers = attributes.dig(:headers) || ""
  @caching_enabled = attributes.dig(:caching_enabled) || true
end

Instance Attribute Details

#caching_enabledBoolean (readonly)

Returns:

  • (Boolean)


48
49
50
# File 'lib/misp/feed.rb', line 48

def caching_enabled
  @caching_enabled
end

#defaultString (readonly)

Returns:

  • (String)


24
25
26
# File 'lib/misp/feed.rb', line 24

def default
  @default
end

#delete_local_fileBoolean (readonly)

Returns:

  • (Boolean)


42
43
44
# File 'lib/misp/feed.rb', line 42

def delete_local_file
  @delete_local_file
end

#delta_mergeBoolean (readonly)

Returns:

  • (Boolean)


30
31
32
# File 'lib/misp/feed.rb', line 30

def delta_merge
  @delta_merge
end

#distributionString (readonly)

Returns:

  • (String)


18
19
20
# File 'lib/misp/feed.rb', line 18

def distribution
  @distribution
end

#enabledBoolean (readonly)

Returns:

  • (Boolean)


16
17
18
# File 'lib/misp/feed.rb', line 16

def enabled
  @enabled
end

#event_idString (readonly)

Returns:

  • (String)


32
33
34
# File 'lib/misp/feed.rb', line 32

def event_id
  @event_id
end

#fixed_eventBoolean (readonly)

Returns:

  • (Boolean)


28
29
30
# File 'lib/misp/feed.rb', line 28

def fixed_event
  @fixed_event
end

#headersString (readonly)

Returns:

  • (String)


46
47
48
# File 'lib/misp/feed.rb', line 46

def headers
  @headers
end

#idString (readonly)

Returns:

  • (String)


6
7
8
# File 'lib/misp/feed.rb', line 6

def id
  @id
end

#input_sourceString (readonly)

Returns:

  • (String)


40
41
42
# File 'lib/misp/feed.rb', line 40

def input_source
  @input_source
end

#lookup_visibleBoolean (readonly)

Returns:

  • (Boolean)


44
45
46
# File 'lib/misp/feed.rb', line 44

def lookup_visible
  @lookup_visible
end

#nameString (readonly)

Returns:

  • (String)


8
9
10
# File 'lib/misp/feed.rb', line 8

def name
  @name
end

#override_idsString (readonly)

Returns:

  • (String)


36
37
38
# File 'lib/misp/feed.rb', line 36

def override_ids
  @override_ids
end

#providerString (readonly)

Returns:

  • (String)


10
11
12
# File 'lib/misp/feed.rb', line 10

def provider
  @provider
end

#publishString (readonly)

Returns:

  • (String)


34
35
36
# File 'lib/misp/feed.rb', line 34

def publish
  @publish
end

#rulesString (readonly)

Returns:

  • (String)


14
15
16
# File 'lib/misp/feed.rb', line 14

def rules
  @rules
end

#settingsString (readonly)

Returns:

  • (String)


38
39
40
# File 'lib/misp/feed.rb', line 38

def settings
  @settings
end

#sharing_group_idString (readonly)

Returns:

  • (String)


20
21
22
# File 'lib/misp/feed.rb', line 20

def sharing_group_id
  @sharing_group_id
end

#source_formatString (readonly)

Returns:

  • (String)


26
27
28
# File 'lib/misp/feed.rb', line 26

def source_format
  @source_format
end

#tag_idString (readonly)

Returns:

  • (String)


22
23
24
# File 'lib/misp/feed.rb', line 22

def tag_id
  @tag_id
end

#urlString (readonly)

Returns:

  • (String)


12
13
14
# File 'lib/misp/feed.rb', line 12

def url
  @url
end

Class Method Details

.create(**attributes) ⇒ Object



151
152
153
# File 'lib/misp/feed.rb', line 151

def create(**attributes)
  new.create attributes
end

.get(id) ⇒ Object



147
148
149
# File 'lib/misp/feed.rb', line 147

def get(id)
  new(id: id).get
end

.listObject



143
144
145
# File 'lib/misp/feed.rb', line 143

def list
  new.list
end

Instance Method Details

#create(**attributes) ⇒ MIPS::Feed

Create a feed

Parameters:

  • **attributes (Hash)

    attributes

Returns:

  • (MIPS::Feed)


138
139
140
# File 'lib/misp/feed.rb', line 138

def create(**attributes)
  _post("/feeds/add", wrap(attributes)) { |feed| Feed.new feed }
end

#getMISP::Feed

Create a feed

Returns:



127
128
129
# File 'lib/misp/feed.rb', line 127

def get
  _get("/feeds/view/#{id}") { |feed| Feed.new feed }
end

#listArray<MISP::Feed>

List feeds

Returns:



114
115
116
117
118
119
120
# File 'lib/misp/feed.rb', line 114

def list
  _get("/feeds/index") do |feeds|
    feeds.map do |feed|
      Feed.new(**feed)
    end
  end
end

#to_hHash

Returns a hash representation of the attribute data.

Returns:

  • (Hash)


82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
# File 'lib/misp/feed.rb', line 82

def to_h
  {
    id: id,
    name: name,
    provider: provider,
    url: url,
    rules: rules,
    enabled: enabled,
    distribution: distribution,
    sharing_group_id: sharing_group_id,
    tag_id: tag_id,
    default: default,
    source_format: source_format,
    fixed_event: fixed_event,
    delta_merge: delta_merge,
    event_id: event_id,
    publish: publish,
    override_ids: override_ids,
    settings: settings,
    input_source: input_source,
    delete_local_file: delete_local_file,
    lookup_visible: lookup_visible,
    headers: headers,
    caching_enabled: caching_enabled,
  }.compact
end