Module: Brreg

Defined in:
lib/brreg.rb,
lib/brreg/version.rb

Constant Summary collapse

BrregURI =
'https://data.brreg.no/enhetsregisteret/api/enheter'
VERSION =
"0.5.1"

Class Method Summary collapse

Class Method Details

.find(query) ⇒ Object



61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# File 'lib/brreg.rb', line 61

def self.find(query)
  puts "\n"
  puts "\e[32mTreff i Enhetsregisteret basert på søket '#{query}'\e[0m"
  puts "\n"
  res = self.get_json( { :navn => query } )
  if res.is_a?(Net::HTTPSuccess)
    jsonres = JSON.parse(res.body)
    matches = jsonres['_embedded']['enheter']
    if matches.length > 0
      if matches.length == 1
        puts "Fant 1 oppføring"
        Brreg.find_by_orgnr( matches.first['organisasjonsnummer'] )
      else
        for entry in matches
          puts entry['organisasjonsnummer'] + ' ' + entry['navn']
        end
      end
    else
      puts "Fant ingen oppføringer med navn #{query}"
    end
  end
end

.find_by_domain(domain) ⇒ Object



43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# File 'lib/brreg.rb', line 43

def self.find_by_domain(domain)
  res = `whois #{domain}`
  res.force_encoding('BINARY').encode!('UTF-8', :invalid => :replace, :undef => :replace)
  if res.gsub('Id Number').first
    orgnr = /\Id Number..................:\s(\d{9})/
    if res.match(orgnr)
      Brreg.find_by_orgnr( res.scan(orgnr).first.first )
      puts "\nBasert på Whois fra domenet #{domain}"
    else
      puts "Domenet har ikke et vanlig orgnr."
    end
  elsif res.gsub('% No match').first
    puts "Domenet #{domain} er ikke registert"
  else
    puts "Ukjent svar fra Whois. Det er kun mulig å søke på .no domener."
  end
end

.find_by_orgnr(orgnr) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/brreg.rb', line 7

def self.find_by_orgnr(orgnr)
  if !orgnr
    puts "Ugyldig verdi"
    return false
  else
    if orgnr.class == String
      orgnr = orgnr.gsub(/\D/, '')
      if orgnr.empty? || orgnr.length != 9
        puts "Ugyldig verdi"
        return false
      end
    end
  end
  res = get_json( { :organisasjonsnummer => orgnr } )
  if res.is_a?(Net::HTTPSuccess)
    jsonres = JSON.parse(res.body)
    matches = jsonres['_embedded']['enheter']
    if matches.length > 0
      company = matches.first
      puts "\n"
      puts "\e[32mViser oppføring for orgnr #{orgnr}\e[0m"
      puts "\n"
      puts company['navn']
      puts company['forretningsadresse']['adresse']
      puts company['forretningsadresse']['postnummer'] + ' ' + company['forretningsadresse']['poststed']
      if company['postadresse']
        puts 'Postadresse:'
        puts company['postadresse']['adresse']
        puts company['postadresse']['postnummer'] + ' ' + company['postadresse']['poststed']
      end
    else
      puts "Fant ingen oppføring for #{orgnr}"
    end
  end
end

.versionObject



84
85
86
# File 'lib/brreg.rb', line 84

def self.version
  VERSION
end