Class: MISP::Feed
Instance Attribute Summary collapse
- #caching_enabled ⇒ Boolean readonly
- #default ⇒ String readonly
- #delete_local_file ⇒ Boolean readonly
- #delta_merge ⇒ Boolean readonly
- #distribution ⇒ String readonly
- #enabled ⇒ Boolean readonly
- #event_id ⇒ String readonly
- #fixed_event ⇒ Boolean readonly
- #headers ⇒ String readonly
- #id ⇒ String readonly
- #input_source ⇒ String readonly
- #lookup_visible ⇒ Boolean readonly
- #name ⇒ String readonly
- #override_ids ⇒ String readonly
- #provider ⇒ String readonly
- #publish ⇒ String readonly
- #rules ⇒ String readonly
- #settings ⇒ String readonly
- #sharing_group_id ⇒ String readonly
- #source_format ⇒ String readonly
- #tag_id ⇒ String readonly
- #url ⇒ String readonly
Class Method Summary collapse
Instance Method Summary collapse
-
#create(**attributes) ⇒ MIPS::Feed
Create a feed.
-
#get ⇒ MISP::Feed
Create a feed.
-
#initialize(**attributes) ⇒ Feed
constructor
A new instance of Feed.
-
#list ⇒ Array<MISP::Feed>
List feeds.
-
#to_h ⇒ Hash
Returns a hash representation of the attribute data.
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_enabled ⇒ Boolean (readonly)
48 49 50 |
# File 'lib/misp/feed.rb', line 48 def caching_enabled @caching_enabled end |
#default ⇒ String (readonly)
24 25 26 |
# File 'lib/misp/feed.rb', line 24 def default @default end |
#delete_local_file ⇒ Boolean (readonly)
42 43 44 |
# File 'lib/misp/feed.rb', line 42 def delete_local_file @delete_local_file end |
#delta_merge ⇒ Boolean (readonly)
30 31 32 |
# File 'lib/misp/feed.rb', line 30 def delta_merge @delta_merge end |
#distribution ⇒ String (readonly)
18 19 20 |
# File 'lib/misp/feed.rb', line 18 def distribution @distribution end |
#enabled ⇒ Boolean (readonly)
16 17 18 |
# File 'lib/misp/feed.rb', line 16 def enabled @enabled end |
#event_id ⇒ String (readonly)
32 33 34 |
# File 'lib/misp/feed.rb', line 32 def event_id @event_id end |
#fixed_event ⇒ Boolean (readonly)
28 29 30 |
# File 'lib/misp/feed.rb', line 28 def fixed_event @fixed_event end |
#headers ⇒ String (readonly)
46 47 48 |
# File 'lib/misp/feed.rb', line 46 def headers @headers end |
#id ⇒ String (readonly)
6 7 8 |
# File 'lib/misp/feed.rb', line 6 def id @id end |
#input_source ⇒ String (readonly)
40 41 42 |
# File 'lib/misp/feed.rb', line 40 def input_source @input_source end |
#lookup_visible ⇒ Boolean (readonly)
44 45 46 |
# File 'lib/misp/feed.rb', line 44 def lookup_visible @lookup_visible end |
#name ⇒ String (readonly)
8 9 10 |
# File 'lib/misp/feed.rb', line 8 def name @name end |
#override_ids ⇒ String (readonly)
36 37 38 |
# File 'lib/misp/feed.rb', line 36 def override_ids @override_ids end |
#provider ⇒ String (readonly)
10 11 12 |
# File 'lib/misp/feed.rb', line 10 def provider @provider end |
#publish ⇒ String (readonly)
34 35 36 |
# File 'lib/misp/feed.rb', line 34 def publish @publish end |
#rules ⇒ String (readonly)
14 15 16 |
# File 'lib/misp/feed.rb', line 14 def rules @rules end |
#settings ⇒ String (readonly)
38 39 40 |
# File 'lib/misp/feed.rb', line 38 def settings @settings end |
#sharing_group_id ⇒ String (readonly)
20 21 22 |
# File 'lib/misp/feed.rb', line 20 def sharing_group_id @sharing_group_id end |
#source_format ⇒ String (readonly)
26 27 28 |
# File 'lib/misp/feed.rb', line 26 def source_format @source_format end |
#tag_id ⇒ String (readonly)
22 23 24 |
# File 'lib/misp/feed.rb', line 22 def tag_id @tag_id end |
#url ⇒ String (readonly)
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 |
.list ⇒ Object
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
138 139 140 |
# File 'lib/misp/feed.rb', line 138 def create(**attributes) _post("/feeds/add", wrap(attributes)) { |feed| Feed.new feed } end |
#get ⇒ MISP::Feed
Create a feed
127 128 129 |
# File 'lib/misp/feed.rb', line 127 def get _get("/feeds/view/#{id}") { |feed| Feed.new feed } end |
#list ⇒ Array<MISP::Feed>
List feeds
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_h ⇒ Hash
Returns a hash representation of the attribute data.
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 |