ppl 4.0.2 → 4.0.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4cc246db0a4e91b85f3f04c9c7961ff4e564c9ce91ba87631d4efdabe6c0aec0
4
- data.tar.gz: cc829862f67814f88a44a8f50367b7a453d2deee549d2f73af9b4f7c47855b4f
3
+ metadata.gz: b38b9c2d04d3ad59eca8b7c5b8ea2cc5fa1748b3ca7527e78e177d9cb0c5a539
4
+ data.tar.gz: d3107c891dada27586d90fe714957d32c841b243ea076084d33c0d5de4e4da38
5
5
  SHA512:
6
- metadata.gz: e32285452876a1a7312a4a683b18bbdca0ff2e45bea87034def7bd794a0044bbd8c5e6a8b2067da36a12a070345afeb46ff03b8e698ae8dda1003c3bc491f7a4
7
- data.tar.gz: aab66b67e9def63ef307be8ea85619d7346f4a77897fbe1dd29bc3db847d1dbe496dfe69007e515da2c282a7f128f516c870d24d069710c6f703888262822cd8
6
+ metadata.gz: 68d4ef1d2c7276256e41cdf6f7b09510337535c00a24e62416785766d14296e31b8dab1289ec1399159985115cfed4aeeab84eba9b20f05cc9e8cb4d255545b7
7
+ data.tar.gz: 7944451c60a9282d590598c2c6b494419dc934e46d49de053bb6f0700f5593cfaaf9504d53f1c2ee855c1ffacbff037c18606144f9ae3f21b61ec87a7fa72b1d
data/.editorconfig CHANGED
@@ -1,3 +1,19 @@
1
+ [*.js]
2
+ indent_style = space
3
+ indent_size = 2
4
+
5
+ [*.md]
6
+ indent_style = space
7
+ indent_size = 2
8
+
9
+ [*.njk]
10
+ indent_style = space
11
+ indent_size = 2
12
+
13
+ [*.scss]
14
+ indent_style = space
15
+ indent_size = 2
16
+
1
17
  [*.yml]
2
18
  indent_style = space
3
19
  indent_size = 2
@@ -2,31 +2,43 @@ name: Build
2
2
  on:
3
3
  push:
4
4
  branches:
5
- - trunk
5
+ - main
6
6
  pull_request:
7
7
  branches:
8
- - trunk
8
+ - main
9
9
 
10
10
  jobs:
11
- test:
11
+ build:
12
12
  runs-on: ubuntu-latest
13
13
  steps:
14
- - uses: actions/checkout@v2
15
- - uses: actions/setup-ruby@v1
14
+ - uses: actions/checkout@v4
15
+
16
+ - uses: actions/setup-node@v2
17
+ with:
18
+ node-version: 20
19
+
20
+ - uses: ruby/setup-ruby@v1
16
21
  with:
17
- ruby-version: 3.0.0
22
+ ruby-version: 3.2.0
23
+
18
24
  - uses: jwlawson/actions-setup-cmake@v1.8
19
25
  with:
20
26
  cmake-version: "3.16.x"
27
+
21
28
  - name: Install dependencies
22
- run: bundle install
29
+ run: |
30
+ bundle install
31
+ yarn install --pure-lockfile
32
+
23
33
  - name: rspec
24
34
  run: bundle exec rake spec
35
+
25
36
  - name: cucumber
26
37
  run: bundle exec rake features
38
+
27
39
  - uses: dawidd6/action-publish-gem@v1
28
40
  continue-on-error: true
29
- if: ${{ github.ref == 'refs/heads/trunk' }}
41
+ if: ${{ github.ref == 'refs/heads/main' }}
30
42
  with:
31
43
  api_key: ${{secrets.RUBYGEMS_API_KEY}}
32
44
  github_token: ${{secrets.GITHUB_TOKEN}}
data/.gitignore CHANGED
@@ -1,5 +1,3 @@
1
1
  Gemfile.lock
2
2
  ppl-*.gem
3
3
  tmp
4
- _site
5
-
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 3.2.2
data/Gemfile CHANGED
@@ -1,4 +1,3 @@
1
-
2
1
  source "https://rubygems.org"
3
2
  gemspec
4
3
 
data/Rakefile CHANGED
@@ -1,5 +1,5 @@
1
1
  task :features => [:disable_config] do
2
- system "bundle exec cucumber"
2
+ system "bundle exec cucumber --publish-quiet"
3
3
  end
4
4
 
5
5
  task :spec do
@@ -9,7 +9,7 @@ end
9
9
  task :disable_config do
10
10
  pplconfig = File.expand_path("~/.pplconfig")
11
11
  bkpconfig = File.expand_path("~/.pplconfig.bkp")
12
- if File.exists? pplconfig
12
+ if File.exist? pplconfig
13
13
  FileUtils.mv pplconfig, bkpconfig
14
14
  end
15
15
  at_exit { Rake::Task["enable_config"].invoke }
@@ -18,7 +18,7 @@ end
18
18
  task :enable_config do
19
19
  pplconfig = File.expand_path("~/.pplconfig")
20
20
  bkpconfig = File.expand_path("~/.pplconfig.bkp")
21
- if File.exists? bkpconfig
21
+ if File.exist? bkpconfig
22
22
  FileUtils.mv bkpconfig, pplconfig
23
23
  end
24
24
  end
data/code_of_conduct.md CHANGED
@@ -35,7 +35,7 @@ This Code of Conduct applies both within project spaces and in public spaces
35
35
  when an individual is representing the project or its community.
36
36
 
37
37
  Instances of abusive, harassing, or otherwise unacceptable behavior may be
38
- reported by contacting a project maintainer at [hen@hey.com](mailto:hen@hey.com). All
38
+ reported by contacting a project maintainer at [henry@catalinismith.com](mailto:henry@catalinismith.com). All
39
39
  complaints will be reviewed and investigated and will result in a response that
40
40
  is deemed necessary and appropriate to the circumstances. Maintainers are
41
41
  obligated to maintain confidentiality with regard to the reporter of an
data/demo.svg ADDED
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="616" height="623.88"><rect width="616" height="623.88" rx="0" ry="0" class="a"/><svg height="607.88" viewBox="0 0 60 60.788" width="600" x="8" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="8"><style>@keyframes i{0%{transform:translateX(0)}.06%{transform:translateX(-60px)}.39%{transform:translateX(-120px)}2.32%{transform:translateX(-180px)}2.69%{transform:translateX(-240px)}2.77%{transform:translateX(-300px)}3.1%{transform:translateX(-360px)}3.37%{transform:translateX(-420px)}3.45%{transform:translateX(-480px)}3.79%{transform:translateX(-540px)}4.08%{transform:translateX(-600px)}4.3%{transform:translateX(-660px)}4.71%{transform:translateX(-720px)}4.86%{transform:translateX(-780px)}4.97%{transform:translateX(-840px)}5.23%{transform:translateX(-900px)}5.73%{transform:translateX(-960px)}6.17%{transform:translateX(-1020px)}6.61%{transform:translateX(-1080px)}7.06%{transform:translateX(-1140px)}7.37%{transform:translateX(-1200px)}10.35%{transform:translateX(-1260px)}13.4%{transform:translateX(-1320px)}13.56%{transform:translateX(-1380px)}13.85%{transform:translateX(-1440px)}14.08%{transform:translateX(-1500px)}14.41%{transform:translateX(-1560px)}14.45%{transform:translateX(-1620px)}14.68%{transform:translateX(-1680px)}15.13%{transform:translateX(-1740px)}15.41%{transform:translateX(-1800px)}15.94%{transform:translateX(-1860px)}16.4%{transform:translateX(-1920px)}16.68%{transform:translateX(-1980px)}16.69%{transform:translateX(-2040px)}19.03%{transform:translateX(-2100px)}19.41%{transform:translateX(-2160px)}19.53%{transform:translateX(-2220px)}19.85%{transform:translateX(-2280px)}20.28%{transform:translateX(-2340px)}20.46%{transform:translateX(-2400px)}20.87%{transform:translateX(-2460px)}21.11%{transform:translateX(-2520px)}21.6%{transform:translateX(-2580px)}21.77%{transform:translateX(-2640px)}22.61%{transform:translateX(-2700px)}22.99%{transform:translateX(-2760px)}23.23%{transform:translateX(-2820px)}23.61%{transform:translateX(-2880px)}24.17%{transform:translateX(-2940px)}25.1%{transform:translateX(-3000px)}25.77%{transform:translateX(-3060px)}26.41%{transform:translateX(-3120px)}26.75%{transform:translateX(-3180px)}27.34%{transform:translateX(-3240px)}27.64%{transform:translateX(-3300px)}28.81%{transform:translateX(-3360px)}29.58%{transform:translateX(-3420px)}30.44%{transform:translateX(-3480px)}30.85%{transform:translateX(-3540px)}31.45%{transform:translateX(-3600px)}31.89%{transform:translateX(-3660px)}31.97%{transform:translateX(-3720px)}32.3%{transform:translateX(-3780px)}32.91%{transform:translateX(-3840px)}33%{transform:translateX(-3900px)}33.92%{transform:translateX(-3960px)}34.68%{transform:translateX(-4020px)}36.45%{transform:translateX(-4080px)}38%{transform:translateX(-4140px)}38.42%{transform:translateX(-4200px)}38.54%{transform:translateX(-4260px)}38.89%{transform:translateX(-4320px)}41.79%{transform:translateX(-4380px)}41.94%{transform:translateX(-4440px)}42.13%{transform:translateX(-4500px)}42.47%{transform:translateX(-4560px)}42.66%{transform:translateX(-4620px)}43.38%{transform:translateX(-4680px)}43.72%{transform:translateX(-4740px)}45.05%{transform:translateX(-4800px)}45.48%{transform:translateX(-4860px)}45.76%{transform:translateX(-4920px)}46.2%{transform:translateX(-4980px)}46.53%{transform:translateX(-5040px)}46.98%{transform:translateX(-5100px)}47.11%{transform:translateX(-5160px)}47.3%{transform:translateX(-5220px)}47.52%{transform:translateX(-5280px)}47.99%{transform:translateX(-5340px)}48.32%{transform:translateX(-5400px)}48.64%{transform:translateX(-5460px)}49.35%{transform:translateX(-5520px)}49.88%{transform:translateX(-5580px)}50.49%{transform:translateX(-5640px)}51.04%{transform:translateX(-5700px)}51.41%{transform:translateX(-5760px)}51.79%{transform:translateX(-5820px)}52.95%{transform:translateX(-5880px)}53.03%{transform:translateX(-5940px)}53.33%{transform:translateX(-6000px)}54.07%{transform:translateX(-6060px)}54.65%{transform:translateX(-6120px)}55.24%{transform:translateX(-6180px)}55.57%{transform:translateX(-6240px)}55.78%{transform:translateX(-6300px)}56.27%{transform:translateX(-6360px)}56.8%{transform:translateX(-6420px)}57.41%{transform:translateX(-6480px)}57.74%{transform:translateX(-6540px)}57.91%{transform:translateX(-6600px)}58.69%{transform:translateX(-6660px)}59.63%{transform:translateX(-6720px)}61.2%{transform:translateX(-6780px)}62.34%{transform:translateX(-6840px)}62.73%{transform:translateX(-6900px)}62.84%{transform:translateX(-6960px)}63.24%{transform:translateX(-7020px)}63.66%{transform:translateX(-7080px)}63.76%{transform:translateX(-7140px)}64.02%{transform:translateX(-7200px)}64.33%{transform:translateX(-7260px)}64.56%{transform:translateX(-7320px)}65.16%{transform:translateX(-7380px)}65.43%{transform:translateX(-7440px)}66.38%{transform:translateX(-7500px)}66.74%{transform:translateX(-7560px)}66.96%{transform:translateX(-7620px)}67.39%{transform:translateX(-7680px)}68.29%{transform:translateX(-7740px)}68.83%{transform:translateX(-7800px)}68.91%{transform:translateX(-7860px)}69.07%{transform:translateX(-7920px)}69.3%{transform:translateX(-7980px)}69.77%{transform:translateX(-8040px)}70%{transform:translateX(-8100px)}70.22%{transform:translateX(-8160px)}70.78%{transform:translateX(-8220px)}71.23%{transform:translateX(-8280px)}71.41%{transform:translateX(-8340px)}71.79%{transform:translateX(-8400px)}72.13%{transform:translateX(-8460px)}72.38%{transform:translateX(-8520px)}72.73%{transform:translateX(-8580px)}73.51%{transform:translateX(-8640px)}75.08%{transform:translateX(-8700px)}77.66%{transform:translateX(-8760px)}78.05%{transform:translateX(-8820px)}78.14%{transform:translateX(-8880px)}78.52%{transform:translateX(-8940px)}78.75%{transform:translateX(-9000px)}79.25%{transform:translateX(-9060px)}79.69%{transform:translateX(-9120px)}79.81%{transform:translateX(-9180px)}79.93%{transform:translateX(-9240px)}80.18%{transform:translateX(-9300px)}80.67%{transform:translateX(-9360px)}80.89%{transform:translateX(-9420px)}81.67%{transform:translateX(-9480px)}82.08%{transform:translateX(-9540px)}82.25%{transform:translateX(-9600px)}82.73%{transform:translateX(-9660px)}84.21%{transform:translateX(-9720px)}84.49%{transform:translateX(-9780px)}84.82%{transform:translateX(-9840px)}84.94%{transform:translateX(-9900px)}85.08%{transform:translateX(-9960px)}85.21%{transform:translateX(-10020px)}85.36%{transform:translateX(-10080px)}85.55%{transform:translateX(-10140px)}85.73%{transform:translateX(-10200px)}85.93%{transform:translateX(-10260px)}88.5%{transform:translateX(-10320px)}90.05%{transform:translateX(-10380px)}90.85%{transform:translateX(-10440px)}91.17%{transform:translateX(-10500px)}91.34%{transform:translateX(-10560px)}91.61%{transform:translateX(-10620px)}92.06%{transform:translateX(-10680px)}92.19%{transform:translateX(-10740px)}92.55%{transform:translateX(-10800px)}92.79%{transform:translateX(-10860px)}93.16%{transform:translateX(-10920px)}93.42%{transform:translateX(-10980px)}94.26%{transform:translateX(-11040px)}94.78%{transform:translateX(-11160px)}94.82%{transform:translateX(-11220px)}to{transform:translateX(-11280px)}}.a{fill:#282d35}.c,.d,.e{fill:#b9c0cb;white-space:pre}.d,.e{fill:#dbab79}.e{fill:#66c2cd}</style><g font-family="Monaco,Consolas,Menlo,'Bitstream Vera Sans Mono','Powerline Symbols',monospace" font-size="1.67"><defs><symbol id="1"><text y="1.67" class="c">$</text></symbol><symbol id="2"><text y="1.67" class="c">$</text><text x="2.004" y="1.67" class="c">p</text></symbol><symbol id="3"><text y="1.67" class="c">$</text><text x="2.004" y="1.67" class="c">pp</text></symbol><symbol id="4"><text y="1.67" class="c">$</text><text x="2.004" y="1.67" class="c">ppl</text></symbol><symbol id="5"><text y="1.67" class="c">$</text><text x="2.004" y="1.67" class="c">ppl</text><text x="6.012" y="1.67" class="c">init</text></symbol><symbol id="6"><text y="1.67" class="c">$</text><text x="2.004" y="1.67" class="c">ppl</text><text x="6.012" y="1.67" class="c">init</text><text x="11.022" y="1.67" class="c">contacts</text></symbol><symbol id="7"><text y="1.67" class="c">$</text><text x="2.004" y="1.67" class="c">cd</text></symbol><symbol id="8"><text y="1.67" class="c">$</text><text x="2.004" y="1.67" class="c">cd</text><text x="5.01" y="1.67" class="c">contacts</text></symbol><symbol id="9"><text y="1.67" class="c">$</text><text x="2.004" y="1.67" class="c">ppl</text><text x="6.012" y="1.67" class="c">add</text></symbol><symbol id="10"><text y="1.67" class="c">$</text><text x="2.004" y="1.67" class="c">ppl</text><text x="6.012" y="1.67" class="c">add</text><text x="10.02" y="1.67" class="c">pippi</text></symbol><symbol id="11"><text y="1.67" class="c">$</text><text x="2.004" y="1.67" class="c">ppl</text><text x="6.012" y="1.67" class="c">add</text><text x="10.02" y="1.67" class="c">pippi</text><text x="16.032" y="1.67" class="c">&quot;Pippi</text></symbol><symbol id="12"><text y="1.67" class="c">$</text><text x="2.004" y="1.67" class="c">ppl</text><text x="6.012" y="1.67" class="c">add</text><text x="10.02" y="1.67" class="c">pippi</text><text x="16.032" y="1.67" class="c">&quot;Pippi</text><text x="23.046" y="1.67" class="c">Långstrump&quot;</text></symbol><symbol id="13"><text y="1.67" class="c">$</text><text x="2.004" y="1.67" class="c">ppl</text><text x="6.012" y="1.67" class="c">p</text></symbol><symbol id="14"><text y="1.67" class="c">$</text><text x="2.004" y="1.67" class="c">ppl</text><text x="6.012" y="1.67" class="c">po</text></symbol><symbol id="15"><text y="1.67" class="c">$</text><text x="2.004" y="1.67" class="c">ppl</text><text x="6.012" y="1.67" class="c">pos</text></symbol><symbol id="16"><text y="1.67" class="c">$</text><text x="2.004" y="1.67" class="c">ppl</text><text x="6.012" y="1.67" class="c">post</text></symbol><symbol id="17"><text y="1.67" class="c">$</text><text x="2.004" y="1.67" class="c">ppl</text><text x="6.012" y="1.67" class="c">post</text><text x="11.022" y="1.67" class="c">p</text></symbol><symbol id="18"><text y="1.67" class="c">$</text><text x="2.004" y="1.67" class="c">ppl</text><text x="6.012" y="1.67" class="c">post</text><text x="11.022" y="1.67" class="c">pi</text></symbol><symbol id="19"><text y="1.67" class="c">$</text><text x="2.004" y="1.67" class="c">ppl</text><text x="6.012" y="1.67" class="c">post</text><text x="11.022" y="1.67" class="c">pip</text></symbol><symbol id="20"><text y="1.67" class="c">$</text><text x="2.004" y="1.67" class="c">ppl</text><text x="6.012" y="1.67" class="c">post</text><text x="11.022" y="1.67" class="c">pipp</text></symbol><symbol id="21"><text y="1.67" class="c">$</text><text x="2.004" y="1.67" class="c">ppl</text><text x="6.012" y="1.67" class="c">post</text><text x="11.022" y="1.67" class="c">pippi</text></symbol><symbol id="22"><text y="1.67" class="c">$</text><text x="2.004" y="1.67" class="c">ppl</text><text x="6.012" y="1.67" class="c">post</text><text x="11.022" y="1.67" class="c">pippi</text><text x="17.034" y="1.67" class="c">h</text></symbol><symbol id="23"><text y="1.67" class="c">$</text><text x="2.004" y="1.67" class="c">ppl</text><text x="6.012" y="1.67" class="c">post</text><text x="11.022" y="1.67" class="c">pippi</text><text x="17.034" y="1.67" class="c">ho</text></symbol><symbol id="24"><text y="1.67" class="c">$</text><text x="2.004" y="1.67" class="c">ppl</text><text x="6.012" y="1.67" class="c">post</text><text x="11.022" y="1.67" class="c">pippi</text><text x="17.034" y="1.67" class="c">hom</text></symbol><symbol id="25"><text y="1.67" class="c">$</text><text x="2.004" y="1.67" class="c">ppl</text><text x="6.012" y="1.67" class="c">post</text><text x="11.022" y="1.67" class="c">pippi</text><text x="17.034" y="1.67" class="c">home</text></symbol><symbol id="26"><text y="1.67" class="c">$</text><text x="2.004" y="1.67" class="c">ppl</text><text x="6.012" y="1.67" class="c">post</text><text x="11.022" y="1.67" class="c">pippi</text><text x="17.034" y="1.67" class="c">home</text><text x="22.044" y="1.67" class="c">-</text></symbol><symbol id="27"><text y="1.67" class="c">$</text><text x="2.004" y="1.67" class="c">ppl</text><text x="6.012" y="1.67" class="c">post</text><text x="11.022" y="1.67" class="c">pippi</text><text x="17.034" y="1.67" class="c">home</text><text x="22.044" y="1.67" class="c">-s</text></symbol><symbol id="28"><text y="1.67" class="c">$</text><text x="2.004" y="1.67" class="c">ppl</text><text x="6.012" y="1.67" class="c">post</text><text x="11.022" y="1.67" class="c">pippi</text><text x="17.034" y="1.67" class="c">home</text><text x="22.044" y="1.67" class="c">-s</text><text x="25.05" y="1.67" class="c">&quot;Vill</text></symbol><symbol id="29"><text y="1.67" class="c">$</text><text x="2.004" y="1.67" class="c">ppl</text><text x="6.012" y="1.67" class="c">post</text><text x="11.022" y="1.67" class="c">pippi</text><text x="17.034" y="1.67" class="c">home</text><text x="22.044" y="1.67" class="c">-s</text><text x="25.05" y="1.67" class="c">&quot;Villa</text></symbol><symbol id="30"><text y="1.67" class="c">$</text><text x="2.004" y="1.67" class="c">ppl</text><text x="6.012" y="1.67" class="c">post</text><text x="11.022" y="1.67" class="c">pippi</text><text x="17.034" y="1.67" class="c">home</text><text x="22.044" y="1.67" class="c">-s</text><text x="25.05" y="1.67" class="c">&quot;Villa</text><text x="32.064" y="1.67" class="c">Villekulla&quot;</text></symbol><symbol id="31"><text y="1.67" class="c">$</text><text x="2.004" y="1.67" class="c">ppl</text><text x="6.012" y="1.67" class="c">post</text><text x="11.022" y="1.67" class="c">pippi</text><text x="17.034" y="1.67" class="c">home</text><text x="22.044" y="1.67" class="c">-r</text></symbol><symbol id="32"><text y="1.67" class="c">$</text><text x="2.004" y="1.67" class="c">ppl</text><text x="6.012" y="1.67" class="c">post</text><text x="11.022" y="1.67" class="c">pippi</text><text x="17.034" y="1.67" class="c">home</text><text x="22.044" y="1.67" class="c">-r</text><text x="25.05" y="1.67" class="c">Gotland</text></symbol><symbol id="33"><text y="1.67" class="c">$</text><text x="2.004" y="1.67" class="c">ppl</text><text x="6.012" y="1.67" class="c">phone</text></symbol><symbol id="34"><text y="1.67" class="c">$</text><text x="2.004" y="1.67" class="c">ppl</text><text x="6.012" y="1.67" class="c">phone</text><text x="12.024" y="1.67" class="c">pippi</text></symbol><symbol id="35"><text y="1.67" class="c">$</text><text x="2.004" y="1.67" class="c">ppl</text><text x="6.012" y="1.67" class="c">phone</text><text x="12.024" y="1.67" class="c">pippi</text><text x="18.036" y="1.67" class="c">0123456789</text></symbol><symbol id="36"><text y="1.67" class="c">$</text><text x="2.004" y="1.67" class="c">git</text></symbol><symbol id="37"><text y="1.67" class="c">$</text><text x="2.004" y="1.67" class="c">git</text><text x="6.012" y="1.67" class="c">reflog</text></symbol><symbol id="38"><text y="1.67" class="d">a9152d0</text><text x="8.016" y="1.67" class="d">(</text><text x="9.018" y="1.67" class="e">HEAD</text><text x="14.028" y="1.67" class="e">-&gt;</text><text x="17.034" y="1.67" style="white-space:pre" fill="#d290e4">trunk</text><text x="22.044" y="1.67" class="d">)</text><text x="24.048" y="1.67" class="c">HEAD@{0}:</text><text x="34.068" y="1.67" class="c">commit:</text><text x="42.084" y="1.67" class="c">save_contact(pippi</text></symbol><symbol id="39"><text y="1.67" class="c">)</text></symbol><symbol id="40"><text y="1.67" class="d">ff1e87b</text><text x="8.016" y="1.67" class="c">HEAD@{1}:</text><text x="18.036" y="1.67" class="c">commit:</text><text x="26.052" y="1.67" class="c">save_contact(pippi)</text></symbol><symbol id="41"><text y="1.67" class="d">cf92220</text><text x="8.016" y="1.67" class="c">HEAD@{2}:</text><text x="18.036" y="1.67" class="c">commit:</text><text x="26.052" y="1.67" class="c">save_contact(pippi)</text></symbol><symbol id="42"><text y="1.67" class="d">239279e</text><text x="8.016" y="1.67" class="c">HEAD@{3}:</text><text x="18.036" y="1.67" class="c">commit:</text><text x="26.052" y="1.67" class="c">save_contact(pippi)</text></symbol><symbol id="43"><text y="1.67" class="d">602b33a</text><text x="8.016" y="1.67" class="c">HEAD@{4}:</text><text x="18.036" y="1.67" class="c">commit</text><text x="25.05" y="1.67" class="c">(initial):</text><text x="36.072" y="1.67" class="c">first</text><text x="42.084" y="1.67" class="c">commit</text></symbol><symbol id="a"><path fill="transparent" d="M0 0h60v29H0z"/></symbol><symbol id="b"><path fill="#6f7683" d="M0 0h1.102v2.171H0z"/></symbol></defs><path class="a" d="M0 0h60v60.788H0z"/><g style="animation-duration:36.967416s;animation-iteration-count:infinite;animation-name:i;animation-timing-function:steps(1,end)"><svg width="11340"><svg><use xlink:href="#a"/><use xlink:href="#b" x="-.004"/></svg><svg x="60"><use xlink:href="#a"/><use xlink:href="#b" x="1.996"/><use xlink:href="#1"/></svg><svg x="120"><use xlink:href="#a"/><use xlink:href="#b" x="1.996"/><use xlink:href="#1"/></svg><svg x="180"><use xlink:href="#a"/><use xlink:href="#b" x="2.996"/><use xlink:href="#2"/></svg><svg x="240"><use xlink:href="#a"/><use xlink:href="#b" x="3.996"/><use xlink:href="#3"/></svg><svg x="300"><use xlink:href="#a"/><use xlink:href="#b" x="4.996"/><use xlink:href="#4"/></svg><svg x="360"><use xlink:href="#a"/><use xlink:href="#b" x="5.996"/><use xlink:href="#4"/></svg><svg x="420"><use xlink:href="#a"/><use xlink:href="#b" x="6.996"/><text y="1.67" class="c">$</text><text x="2.004" y="1.67" class="c">ppl</text><text x="6.012" y="1.67" class="c">i</text></svg><svg x="480"><use xlink:href="#a"/><use xlink:href="#b" x="7.996"/><text y="1.67" class="c">$</text><text x="2.004" y="1.67" class="c">ppl</text><text x="6.012" y="1.67" class="c">in</text></svg><svg x="540"><use xlink:href="#a"/><use xlink:href="#b" x="8.996"/><text y="1.67" class="c">$</text><text x="2.004" y="1.67" class="c">ppl</text><text x="6.012" y="1.67" class="c">ini</text></svg><svg x="600"><use xlink:href="#a"/><use xlink:href="#b" x="9.996"/><use xlink:href="#5"/></svg><svg x="660"><use xlink:href="#a"/><use xlink:href="#b" x="10.996"/><use xlink:href="#5"/></svg><svg x="720"><use xlink:href="#a"/><use xlink:href="#b" x="11.996"/><text y="1.67" class="c">$</text><text x="2.004" y="1.67" class="c">ppl</text><text x="6.012" y="1.67" class="c">init</text><text x="11.022" y="1.67" class="c">c</text></svg><svg x="780"><use xlink:href="#a"/><use xlink:href="#b" x="12.996"/><text y="1.67" class="c">$</text><text x="2.004" y="1.67" class="c">ppl</text><text x="6.012" y="1.67" class="c">init</text><text x="11.022" y="1.67" class="c">co</text></svg><svg x="840"><use xlink:href="#a"/><use xlink:href="#b" x="13.996"/><text y="1.67" class="c">$</text><text x="2.004" y="1.67" class="c">ppl</text><text x="6.012" y="1.67" class="c">init</text><text x="11.022" y="1.67" class="c">con</text></svg><svg x="900"><use xlink:href="#a"/><use xlink:href="#b" x="14.996"/><text y="1.67" class="c">$</text><text x="2.004" y="1.67" class="c">ppl</text><text x="6.012" y="1.67" class="c">init</text><text x="11.022" y="1.67" class="c">cont</text></svg><svg x="960"><use xlink:href="#a"/><use xlink:href="#b" x="15.996"/><text y="1.67" class="c">$</text><text x="2.004" y="1.67" class="c">ppl</text><text x="6.012" y="1.67" class="c">init</text><text x="11.022" y="1.67" class="c">conta</text></svg><svg x="1020"><use xlink:href="#a"/><use xlink:href="#b" x="16.996"/><text y="1.67" class="c">$</text><text x="2.004" y="1.67" class="c">ppl</text><text x="6.012" y="1.67" class="c">init</text><text x="11.022" y="1.67" class="c">contac</text></svg><svg x="1080"><use xlink:href="#a"/><use xlink:href="#b" x="17.996"/><text y="1.67" class="c">$</text><text x="2.004" y="1.67" class="c">ppl</text><text x="6.012" y="1.67" class="c">init</text><text x="11.022" y="1.67" class="c">contact</text></svg><svg x="1140"><use xlink:href="#a"/><use xlink:href="#b" x="18.996"/><use xlink:href="#6"/></svg><svg x="1200"><use xlink:href="#a"/><use xlink:href="#b" x="-.004" y="2.146"/><use xlink:href="#6"/></svg><svg x="1260"><use xlink:href="#a"/><use xlink:href="#b" x="1.996" y="2.146"/><use xlink:href="#6"/><use xlink:href="#1" y="2.171"/></svg><svg x="1320"><use xlink:href="#a"/><use xlink:href="#b" x="2.996" y="2.146"/><use xlink:href="#6"/><text y="3.841" class="c">$</text><text x="2.004" y="3.841" class="c">c</text></svg><svg x="1380"><use xlink:href="#a"/><use xlink:href="#b" x="3.996" y="2.146"/><use xlink:href="#6"/><use xlink:href="#7" y="2.171"/></svg><svg x="1440"><use xlink:href="#a"/><use xlink:href="#b" x="4.996" y="2.146"/><use xlink:href="#6"/><use xlink:href="#7" y="2.171"/></svg><svg x="1500"><use xlink:href="#a"/><use xlink:href="#b" x="5.996" y="2.146"/><use xlink:href="#6"/><text y="3.841" class="c">$</text><text x="2.004" y="3.841" class="c">cd</text><text x="5.01" y="3.841" class="c">c</text></svg><svg x="1560"><use xlink:href="#a"/><use xlink:href="#b" x="6.996" y="2.146"/><use xlink:href="#6"/><text y="3.841" class="c">$</text><text x="2.004" y="3.841" class="c">cd</text><text x="5.01" y="3.841" class="c">co</text></svg><svg x="1620"><use xlink:href="#a"/><use xlink:href="#b" x="7.996" y="2.146"/><use xlink:href="#6"/><text y="3.841" class="c">$</text><text x="2.004" y="3.841" class="c">cd</text><text x="5.01" y="3.841" class="c">con</text></svg><svg x="1680"><use xlink:href="#a"/><use xlink:href="#b" x="8.996" y="2.146"/><use xlink:href="#6"/><text y="3.841" class="c">$</text><text x="2.004" y="3.841" class="c">cd</text><text x="5.01" y="3.841" class="c">cont</text></svg><svg x="1740"><use xlink:href="#a"/><use xlink:href="#b" x="9.996" y="2.146"/><use xlink:href="#6"/><text y="3.841" class="c">$</text><text x="2.004" y="3.841" class="c">cd</text><text x="5.01" y="3.841" class="c">conta</text></svg><svg x="1800"><use xlink:href="#a"/><use xlink:href="#b" x="10.996" y="2.146"/><use xlink:href="#6"/><text y="3.841" class="c">$</text><text x="2.004" y="3.841" class="c">cd</text><text x="5.01" y="3.841" class="c">contac</text></svg><svg x="1860"><use xlink:href="#a"/><use xlink:href="#b" x="11.996" y="2.146"/><use xlink:href="#6"/><text y="3.841" class="c">$</text><text x="2.004" y="3.841" class="c">cd</text><text x="5.01" y="3.841" class="c">contact</text></svg><svg x="1920"><use xlink:href="#a"/><use xlink:href="#b" x="12.996" y="2.146"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/></svg><svg x="1980"><use xlink:href="#a"/><use xlink:href="#b" x="-.004" y="4.317"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/></svg><svg x="2040"><use xlink:href="#a"/><use xlink:href="#b" x="1.996" y="4.317"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#1" y="4.342"/></svg><svg x="2100"><use xlink:href="#a"/><use xlink:href="#b" x="2.996" y="4.317"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#2" y="4.342"/></svg><svg x="2160"><use xlink:href="#a"/><use xlink:href="#b" x="3.996" y="4.317"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#3" y="4.342"/></svg><svg x="2220"><use xlink:href="#a"/><use xlink:href="#b" x="4.996" y="4.317"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#4" y="4.342"/></svg><svg x="2280"><use xlink:href="#a"/><use xlink:href="#b" x="5.996" y="4.317"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#4" y="4.342"/></svg><svg x="2340"><use xlink:href="#a"/><use xlink:href="#b" x="6.996" y="4.317"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><text y="6.012" class="c">$</text><text x="2.004" y="6.012" class="c">ppl</text><text x="6.012" y="6.012" class="c">a</text></svg><svg x="2400"><use xlink:href="#a"/><use xlink:href="#b" x="7.996" y="4.317"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><text y="6.012" class="c">$</text><text x="2.004" y="6.012" class="c">ppl</text><text x="6.012" y="6.012" class="c">ad</text></svg><svg x="2460"><use xlink:href="#a"/><use xlink:href="#b" x="8.996" y="4.317"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#9" y="4.342"/></svg><svg x="2520"><use xlink:href="#a"/><use xlink:href="#b" x="9.996" y="4.317"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#9" y="4.342"/></svg><svg x="2580"><use xlink:href="#a"/><use xlink:href="#b" x="10.996" y="4.317"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><text y="6.012" class="c">$</text><text x="2.004" y="6.012" class="c">ppl</text><text x="6.012" y="6.012" class="c">add</text><text x="10.02" y="6.012" class="c">p</text></svg><svg x="2640"><use xlink:href="#a"/><use xlink:href="#b" x="11.996" y="4.317"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><text y="6.012" class="c">$</text><text x="2.004" y="6.012" class="c">ppl</text><text x="6.012" y="6.012" class="c">add</text><text x="10.02" y="6.012" class="c">pi</text></svg><svg x="2700"><use xlink:href="#a"/><use xlink:href="#b" x="12.996" y="4.317"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><text y="6.012" class="c">$</text><text x="2.004" y="6.012" class="c">ppl</text><text x="6.012" y="6.012" class="c">add</text><text x="10.02" y="6.012" class="c">pip</text></svg><svg x="2760"><use xlink:href="#a"/><use xlink:href="#b" x="13.996" y="4.317"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><text y="6.012" class="c">$</text><text x="2.004" y="6.012" class="c">ppl</text><text x="6.012" y="6.012" class="c">add</text><text x="10.02" y="6.012" class="c">pipp</text></svg><svg x="2820"><use xlink:href="#a"/><use xlink:href="#b" x="14.996" y="4.317"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#10" y="4.342"/></svg><svg x="2880"><use xlink:href="#a"/><use xlink:href="#b" x="15.996" y="4.317"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#10" y="4.342"/></svg><svg x="2940"><use xlink:href="#a"/><use xlink:href="#b" x="16.996" y="4.317"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><text y="6.012" class="c">$</text><text x="2.004" y="6.012" class="c">ppl</text><text x="6.012" y="6.012" class="c">add</text><text x="10.02" y="6.012" class="c">pippi</text><text x="16.032" y="6.012" class="c">&quot;</text></svg><svg x="3000"><use xlink:href="#a"/><use xlink:href="#b" x="17.996" y="4.317"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><text y="6.012" class="c">$</text><text x="2.004" y="6.012" class="c">ppl</text><text x="6.012" y="6.012" class="c">add</text><text x="10.02" y="6.012" class="c">pippi</text><text x="16.032" y="6.012" class="c">&quot;P</text></svg><svg x="3060"><use xlink:href="#a"/><use xlink:href="#b" x="18.996" y="4.317"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><text y="6.012" class="c">$</text><text x="2.004" y="6.012" class="c">ppl</text><text x="6.012" y="6.012" class="c">add</text><text x="10.02" y="6.012" class="c">pippi</text><text x="16.032" y="6.012" class="c">&quot;Pi</text></svg><svg x="3120"><use xlink:href="#a"/><use xlink:href="#b" x="19.996" y="4.317"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><text y="6.012" class="c">$</text><text x="2.004" y="6.012" class="c">ppl</text><text x="6.012" y="6.012" class="c">add</text><text x="10.02" y="6.012" class="c">pippi</text><text x="16.032" y="6.012" class="c">&quot;Pip</text></svg><svg x="3180"><use xlink:href="#a"/><use xlink:href="#b" x="20.996" y="4.317"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><text y="6.012" class="c">$</text><text x="2.004" y="6.012" class="c">ppl</text><text x="6.012" y="6.012" class="c">add</text><text x="10.02" y="6.012" class="c">pippi</text><text x="16.032" y="6.012" class="c">&quot;Pipp</text></svg><svg x="3240"><use xlink:href="#a"/><use xlink:href="#b" x="21.996" y="4.317"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#11" y="4.342"/></svg><svg x="3300"><use xlink:href="#a"/><use xlink:href="#b" x="22.996" y="4.317"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#11" y="4.342"/></svg><svg x="3360"><use xlink:href="#a"/><use xlink:href="#b" x="23.996" y="4.317"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><text y="6.012" class="c">$</text><text x="2.004" y="6.012" class="c">ppl</text><text x="6.012" y="6.012" class="c">add</text><text x="10.02" y="6.012" class="c">pippi</text><text x="16.032" y="6.012" class="c">&quot;Pippi</text><text x="23.046" y="6.012" class="c">L</text></svg><svg x="3420"><use xlink:href="#a"/><use xlink:href="#b" x="24.996" y="4.317"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><text y="6.012" class="c">$</text><text x="2.004" y="6.012" class="c">ppl</text><text x="6.012" y="6.012" class="c">add</text><text x="10.02" y="6.012" class="c">pippi</text><text x="16.032" y="6.012" class="c">&quot;Pippi</text><text x="23.046" y="6.012" class="c">Lå</text></svg><svg x="3480"><use xlink:href="#a"/><use xlink:href="#b" x="25.996" y="4.317"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><text y="6.012" class="c">$</text><text x="2.004" y="6.012" class="c">ppl</text><text x="6.012" y="6.012" class="c">add</text><text x="10.02" y="6.012" class="c">pippi</text><text x="16.032" y="6.012" class="c">&quot;Pippi</text><text x="23.046" y="6.012" class="c">Lån</text></svg><svg x="3540"><use xlink:href="#a"/><use xlink:href="#b" x="26.996" y="4.317"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><text y="6.012" class="c">$</text><text x="2.004" y="6.012" class="c">ppl</text><text x="6.012" y="6.012" class="c">add</text><text x="10.02" y="6.012" class="c">pippi</text><text x="16.032" y="6.012" class="c">&quot;Pippi</text><text x="23.046" y="6.012" class="c">Lång</text></svg><svg x="3600"><use xlink:href="#a"/><use xlink:href="#b" x="27.996" y="4.317"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><text y="6.012" class="c">$</text><text x="2.004" y="6.012" class="c">ppl</text><text x="6.012" y="6.012" class="c">add</text><text x="10.02" y="6.012" class="c">pippi</text><text x="16.032" y="6.012" class="c">&quot;Pippi</text><text x="23.046" y="6.012" class="c">Långs</text></svg><svg x="3660"><use xlink:href="#a"/><use xlink:href="#b" x="28.996" y="4.317"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><text y="6.012" class="c">$</text><text x="2.004" y="6.012" class="c">ppl</text><text x="6.012" y="6.012" class="c">add</text><text x="10.02" y="6.012" class="c">pippi</text><text x="16.032" y="6.012" class="c">&quot;Pippi</text><text x="23.046" y="6.012" class="c">Långst</text></svg><svg x="3720"><use xlink:href="#a"/><use xlink:href="#b" x="29.996" y="4.317"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><text y="6.012" class="c">$</text><text x="2.004" y="6.012" class="c">ppl</text><text x="6.012" y="6.012" class="c">add</text><text x="10.02" y="6.012" class="c">pippi</text><text x="16.032" y="6.012" class="c">&quot;Pippi</text><text x="23.046" y="6.012" class="c">Långstr</text></svg><svg x="3780"><use xlink:href="#a"/><use xlink:href="#b" x="30.996" y="4.317"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><text y="6.012" class="c">$</text><text x="2.004" y="6.012" class="c">ppl</text><text x="6.012" y="6.012" class="c">add</text><text x="10.02" y="6.012" class="c">pippi</text><text x="16.032" y="6.012" class="c">&quot;Pippi</text><text x="23.046" y="6.012" class="c">Långstru</text></svg><svg x="3840"><use xlink:href="#a"/><use xlink:href="#b" x="31.996" y="4.317"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><text y="6.012" class="c">$</text><text x="2.004" y="6.012" class="c">ppl</text><text x="6.012" y="6.012" class="c">add</text><text x="10.02" y="6.012" class="c">pippi</text><text x="16.032" y="6.012" class="c">&quot;Pippi</text><text x="23.046" y="6.012" class="c">Långstrum</text></svg><svg x="3900"><use xlink:href="#a"/><use xlink:href="#b" x="32.996" y="4.317"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><text y="6.012" class="c">$</text><text x="2.004" y="6.012" class="c">ppl</text><text x="6.012" y="6.012" class="c">add</text><text x="10.02" y="6.012" class="c">pippi</text><text x="16.032" y="6.012" class="c">&quot;Pippi</text><text x="23.046" y="6.012" class="c">Långstrump</text></svg><svg x="3960"><use xlink:href="#a"/><use xlink:href="#b" x="33.996" y="4.317"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/></svg><svg x="4020"><use xlink:href="#a"/><use xlink:href="#b" x="-.004" y="6.488"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/></svg><svg x="4080"><use xlink:href="#a"/><use xlink:href="#b" x="1.996" y="6.488"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#1" y="6.513"/></svg><svg x="4140"><use xlink:href="#a"/><use xlink:href="#b" x="2.996" y="6.488"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#2" y="6.513"/></svg><svg x="4200"><use xlink:href="#a"/><use xlink:href="#b" x="3.996" y="6.488"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#3" y="6.513"/></svg><svg x="4260"><use xlink:href="#a"/><use xlink:href="#b" x="4.996" y="6.488"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#4" y="6.513"/></svg><svg x="4320"><use xlink:href="#a"/><use xlink:href="#b" x="5.996" y="6.488"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#4" y="6.513"/></svg><svg x="4380"><use xlink:href="#a"/><use xlink:href="#b" x="6.996" y="6.488"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#13" y="6.513"/></svg><svg x="4440"><use xlink:href="#a"/><use xlink:href="#b" x="7.996" y="6.488"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#14" y="6.513"/></svg><svg x="4500"><use xlink:href="#a"/><use xlink:href="#b" x="8.996" y="6.488"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#15" y="6.513"/></svg><svg x="4560"><use xlink:href="#a"/><use xlink:href="#b" x="9.996" y="6.488"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#16" y="6.513"/></svg><svg x="4620"><use xlink:href="#a"/><use xlink:href="#b" x="10.996" y="6.488"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#16" y="6.513"/></svg><svg x="4680"><use xlink:href="#a"/><use xlink:href="#b" x="11.996" y="6.488"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#17" y="6.513"/></svg><svg x="4740"><use xlink:href="#a"/><use xlink:href="#b" x="12.996" y="6.488"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#18" y="6.513"/></svg><svg x="4800"><use xlink:href="#a"/><use xlink:href="#b" x="13.996" y="6.488"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#19" y="6.513"/></svg><svg x="4860"><use xlink:href="#a"/><use xlink:href="#b" x="14.996" y="6.488"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#20" y="6.513"/></svg><svg x="4920"><use xlink:href="#a"/><use xlink:href="#b" x="15.996" y="6.488"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#21" y="6.513"/></svg><svg x="4980"><use xlink:href="#a"/><use xlink:href="#b" x="16.996" y="6.488"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#21" y="6.513"/></svg><svg x="5040"><use xlink:href="#a"/><use xlink:href="#b" x="17.996" y="6.488"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#22" y="6.513"/></svg><svg x="5100"><use xlink:href="#a"/><use xlink:href="#b" x="18.996" y="6.488"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#23" y="6.513"/></svg><svg x="5160"><use xlink:href="#a"/><use xlink:href="#b" x="19.996" y="6.488"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#24" y="6.513"/></svg><svg x="5220"><use xlink:href="#a"/><use xlink:href="#b" x="20.996" y="6.488"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#25" y="6.513"/></svg><svg x="5280"><use xlink:href="#a"/><use xlink:href="#b" x="21.996" y="6.488"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#25" y="6.513"/></svg><svg x="5340"><use xlink:href="#a"/><use xlink:href="#b" x="22.996" y="6.488"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#26" y="6.513"/></svg><svg x="5400"><use xlink:href="#a"/><use xlink:href="#b" x="23.996" y="6.488"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#27" y="6.513"/></svg><svg x="5460"><use xlink:href="#a"/><use xlink:href="#b" x="24.996" y="6.488"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#27" y="6.513"/></svg><svg x="5520"><use xlink:href="#a"/><use xlink:href="#b" x="25.996" y="6.488"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><text y="8.183" class="c">$</text><text x="2.004" y="8.183" class="c">ppl</text><text x="6.012" y="8.183" class="c">post</text><text x="11.022" y="8.183" class="c">pippi</text><text x="17.034" y="8.183" class="c">home</text><text x="22.044" y="8.183" class="c">-s</text><text x="25.05" y="8.183" class="c">&quot;</text></svg><svg x="5580"><use xlink:href="#a"/><use xlink:href="#b" x="26.996" y="6.488"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><text y="8.183" class="c">$</text><text x="2.004" y="8.183" class="c">ppl</text><text x="6.012" y="8.183" class="c">post</text><text x="11.022" y="8.183" class="c">pippi</text><text x="17.034" y="8.183" class="c">home</text><text x="22.044" y="8.183" class="c">-s</text><text x="25.05" y="8.183" class="c">&quot;V</text></svg><svg x="5640"><use xlink:href="#a"/><use xlink:href="#b" x="27.996" y="6.488"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><text y="8.183" class="c">$</text><text x="2.004" y="8.183" class="c">ppl</text><text x="6.012" y="8.183" class="c">post</text><text x="11.022" y="8.183" class="c">pippi</text><text x="17.034" y="8.183" class="c">home</text><text x="22.044" y="8.183" class="c">-s</text><text x="25.05" y="8.183" class="c">&quot;Vi</text></svg><svg x="5700"><use xlink:href="#a"/><use xlink:href="#b" x="28.996" y="6.488"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><text y="8.183" class="c">$</text><text x="2.004" y="8.183" class="c">ppl</text><text x="6.012" y="8.183" class="c">post</text><text x="11.022" y="8.183" class="c">pippi</text><text x="17.034" y="8.183" class="c">home</text><text x="22.044" y="8.183" class="c">-s</text><text x="25.05" y="8.183" class="c">&quot;Vil</text></svg><svg x="5760"><use xlink:href="#a"/><use xlink:href="#b" x="29.996" y="6.488"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#28" y="6.513"/></svg><svg x="5820"><use xlink:href="#a"/><use xlink:href="#b" x="30.996" y="6.488"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#28" y="6.513"/></svg><svg x="5880"><use xlink:href="#a"/><use xlink:href="#b" x="29.996" y="6.488"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#28" y="6.513"/></svg><svg x="5940"><use xlink:href="#a"/><use xlink:href="#b" x="30.996" y="6.488"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#29" y="6.513"/></svg><svg x="6000"><use xlink:href="#a"/><use xlink:href="#b" x="31.996" y="6.488"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#29" y="6.513"/></svg><svg x="6060"><use xlink:href="#a"/><use xlink:href="#b" x="32.996" y="6.488"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><text y="8.183" class="c">$</text><text x="2.004" y="8.183" class="c">ppl</text><text x="6.012" y="8.183" class="c">post</text><text x="11.022" y="8.183" class="c">pippi</text><text x="17.034" y="8.183" class="c">home</text><text x="22.044" y="8.183" class="c">-s</text><text x="25.05" y="8.183" class="c">&quot;Villa</text><text x="32.064" y="8.183" class="c">V</text></svg><svg x="6120"><use xlink:href="#a"/><use xlink:href="#b" x="33.996" y="6.488"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><text y="8.183" class="c">$</text><text x="2.004" y="8.183" class="c">ppl</text><text x="6.012" y="8.183" class="c">post</text><text x="11.022" y="8.183" class="c">pippi</text><text x="17.034" y="8.183" class="c">home</text><text x="22.044" y="8.183" class="c">-s</text><text x="25.05" y="8.183" class="c">&quot;Villa</text><text x="32.064" y="8.183" class="c">Vi</text></svg><svg x="6180"><use xlink:href="#a"/><use xlink:href="#b" x="34.996" y="6.488"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><text y="8.183" class="c">$</text><text x="2.004" y="8.183" class="c">ppl</text><text x="6.012" y="8.183" class="c">post</text><text x="11.022" y="8.183" class="c">pippi</text><text x="17.034" y="8.183" class="c">home</text><text x="22.044" y="8.183" class="c">-s</text><text x="25.05" y="8.183" class="c">&quot;Villa</text><text x="32.064" y="8.183" class="c">Vil</text></svg><svg x="6240"><use xlink:href="#a"/><use xlink:href="#b" x="35.996" y="6.488"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><text y="8.183" class="c">$</text><text x="2.004" y="8.183" class="c">ppl</text><text x="6.012" y="8.183" class="c">post</text><text x="11.022" y="8.183" class="c">pippi</text><text x="17.034" y="8.183" class="c">home</text><text x="22.044" y="8.183" class="c">-s</text><text x="25.05" y="8.183" class="c">&quot;Villa</text><text x="32.064" y="8.183" class="c">Vill</text></svg><svg x="6300"><use xlink:href="#a"/><use xlink:href="#b" x="36.996" y="6.488"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><text y="8.183" class="c">$</text><text x="2.004" y="8.183" class="c">ppl</text><text x="6.012" y="8.183" class="c">post</text><text x="11.022" y="8.183" class="c">pippi</text><text x="17.034" y="8.183" class="c">home</text><text x="22.044" y="8.183" class="c">-s</text><text x="25.05" y="8.183" class="c">&quot;Villa</text><text x="32.064" y="8.183" class="c">Ville</text></svg><svg x="6360"><use xlink:href="#a"/><use xlink:href="#b" x="37.996" y="6.488"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><text y="8.183" class="c">$</text><text x="2.004" y="8.183" class="c">ppl</text><text x="6.012" y="8.183" class="c">post</text><text x="11.022" y="8.183" class="c">pippi</text><text x="17.034" y="8.183" class="c">home</text><text x="22.044" y="8.183" class="c">-s</text><text x="25.05" y="8.183" class="c">&quot;Villa</text><text x="32.064" y="8.183" class="c">Villek</text></svg><svg x="6420"><use xlink:href="#a"/><use xlink:href="#b" x="38.996" y="6.488"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><text y="8.183" class="c">$</text><text x="2.004" y="8.183" class="c">ppl</text><text x="6.012" y="8.183" class="c">post</text><text x="11.022" y="8.183" class="c">pippi</text><text x="17.034" y="8.183" class="c">home</text><text x="22.044" y="8.183" class="c">-s</text><text x="25.05" y="8.183" class="c">&quot;Villa</text><text x="32.064" y="8.183" class="c">Villeku</text></svg><svg x="6480"><use xlink:href="#a"/><use xlink:href="#b" x="39.996" y="6.488"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><text y="8.183" class="c">$</text><text x="2.004" y="8.183" class="c">ppl</text><text x="6.012" y="8.183" class="c">post</text><text x="11.022" y="8.183" class="c">pippi</text><text x="17.034" y="8.183" class="c">home</text><text x="22.044" y="8.183" class="c">-s</text><text x="25.05" y="8.183" class="c">&quot;Villa</text><text x="32.064" y="8.183" class="c">Villekul</text></svg><svg x="6540"><use xlink:href="#a"/><use xlink:href="#b" x="40.996" y="6.488"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><text y="8.183" class="c">$</text><text x="2.004" y="8.183" class="c">ppl</text><text x="6.012" y="8.183" class="c">post</text><text x="11.022" y="8.183" class="c">pippi</text><text x="17.034" y="8.183" class="c">home</text><text x="22.044" y="8.183" class="c">-s</text><text x="25.05" y="8.183" class="c">&quot;Villa</text><text x="32.064" y="8.183" class="c">Villekull</text></svg><svg x="6600"><use xlink:href="#a"/><use xlink:href="#b" x="41.996" y="6.488"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><text y="8.183" class="c">$</text><text x="2.004" y="8.183" class="c">ppl</text><text x="6.012" y="8.183" class="c">post</text><text x="11.022" y="8.183" class="c">pippi</text><text x="17.034" y="8.183" class="c">home</text><text x="22.044" y="8.183" class="c">-s</text><text x="25.05" y="8.183" class="c">&quot;Villa</text><text x="32.064" y="8.183" class="c">Villekulla</text></svg><svg x="6660"><use xlink:href="#a"/><use xlink:href="#b" x="42.996" y="6.488"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/></svg><svg x="6720"><use xlink:href="#a"/><use xlink:href="#b" x="-.004" y="8.659"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/></svg><svg x="6780"><use xlink:href="#a"/><use xlink:href="#b" x="1.996" y="8.659"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#1" y="8.684"/></svg><svg x="6840"><use xlink:href="#a"/><use xlink:href="#b" x="2.996" y="8.659"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#2" y="8.684"/></svg><svg x="6900"><use xlink:href="#a"/><use xlink:href="#b" x="3.996" y="8.659"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#3" y="8.684"/></svg><svg x="6960"><use xlink:href="#a"/><use xlink:href="#b" x="4.996" y="8.659"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#4" y="8.684"/></svg><svg x="7020"><use xlink:href="#a"/><use xlink:href="#b" x="5.996" y="8.659"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#4" y="8.684"/></svg><svg x="7080"><use xlink:href="#a"/><use xlink:href="#b" x="6.996" y="8.659"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#13" y="8.684"/></svg><svg x="7140"><use xlink:href="#a"/><use xlink:href="#b" x="7.996" y="8.659"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#14" y="8.684"/></svg><svg x="7200"><use xlink:href="#a"/><use xlink:href="#b" x="8.996" y="8.659"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#15" y="8.684"/></svg><svg x="7260"><use xlink:href="#a"/><use xlink:href="#b" x="9.996" y="8.659"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#16" y="8.684"/></svg><svg x="7320"><use xlink:href="#a"/><use xlink:href="#b" x="10.996" y="8.659"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#16" y="8.684"/></svg><svg x="7380"><use xlink:href="#a"/><use xlink:href="#b" x="11.996" y="8.659"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#17" y="8.684"/></svg><svg x="7440"><use xlink:href="#a"/><use xlink:href="#b" x="12.996" y="8.659"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#18" y="8.684"/></svg><svg x="7500"><use xlink:href="#a"/><use xlink:href="#b" x="13.996" y="8.659"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#19" y="8.684"/></svg><svg x="7560"><use xlink:href="#a"/><use xlink:href="#b" x="14.996" y="8.659"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#20" y="8.684"/></svg><svg x="7620"><use xlink:href="#a"/><use xlink:href="#b" x="15.996" y="8.659"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#21" y="8.684"/></svg><svg x="7680"><use xlink:href="#a"/><use xlink:href="#b" x="16.996" y="8.659"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#21" y="8.684"/></svg><svg x="7740"><use xlink:href="#a"/><use xlink:href="#b" x="17.996" y="8.659"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#22" y="8.684"/></svg><svg x="7800"><use xlink:href="#a"/><use xlink:href="#b" x="18.996" y="8.659"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#23" y="8.684"/></svg><svg x="7860"><use xlink:href="#a"/><use xlink:href="#b" x="19.996" y="8.659"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#24" y="8.684"/></svg><svg x="7920"><use xlink:href="#a"/><use xlink:href="#b" x="20.996" y="8.659"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#25" y="8.684"/></svg><svg x="7980"><use xlink:href="#a"/><use xlink:href="#b" x="21.996" y="8.659"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#25" y="8.684"/></svg><svg x="8040"><use xlink:href="#a"/><use xlink:href="#b" x="22.996" y="8.659"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#26" y="8.684"/></svg><svg x="8100"><use xlink:href="#a"/><use xlink:href="#b" x="23.996" y="8.659"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#31" y="8.684"/></svg><svg x="8160"><use xlink:href="#a"/><use xlink:href="#b" x="24.996" y="8.659"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#31" y="8.684"/></svg><svg x="8220"><use xlink:href="#a"/><use xlink:href="#b" x="25.996" y="8.659"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><text y="10.354" class="c">$</text><text x="2.004" y="10.354" class="c">ppl</text><text x="6.012" y="10.354" class="c">post</text><text x="11.022" y="10.354" class="c">pippi</text><text x="17.034" y="10.354" class="c">home</text><text x="22.044" y="10.354" class="c">-r</text><text x="25.05" y="10.354" class="c">G</text></svg><svg x="8280"><use xlink:href="#a"/><use xlink:href="#b" x="26.996" y="8.659"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><text y="10.354" class="c">$</text><text x="2.004" y="10.354" class="c">ppl</text><text x="6.012" y="10.354" class="c">post</text><text x="11.022" y="10.354" class="c">pippi</text><text x="17.034" y="10.354" class="c">home</text><text x="22.044" y="10.354" class="c">-r</text><text x="25.05" y="10.354" class="c">Go</text></svg><svg x="8340"><use xlink:href="#a"/><use xlink:href="#b" x="27.996" y="8.659"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><text y="10.354" class="c">$</text><text x="2.004" y="10.354" class="c">ppl</text><text x="6.012" y="10.354" class="c">post</text><text x="11.022" y="10.354" class="c">pippi</text><text x="17.034" y="10.354" class="c">home</text><text x="22.044" y="10.354" class="c">-r</text><text x="25.05" y="10.354" class="c">Got</text></svg><svg x="8400"><use xlink:href="#a"/><use xlink:href="#b" x="28.996" y="8.659"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><text y="10.354" class="c">$</text><text x="2.004" y="10.354" class="c">ppl</text><text x="6.012" y="10.354" class="c">post</text><text x="11.022" y="10.354" class="c">pippi</text><text x="17.034" y="10.354" class="c">home</text><text x="22.044" y="10.354" class="c">-r</text><text x="25.05" y="10.354" class="c">Gotl</text></svg><svg x="8460"><use xlink:href="#a"/><use xlink:href="#b" x="29.996" y="8.659"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><text y="10.354" class="c">$</text><text x="2.004" y="10.354" class="c">ppl</text><text x="6.012" y="10.354" class="c">post</text><text x="11.022" y="10.354" class="c">pippi</text><text x="17.034" y="10.354" class="c">home</text><text x="22.044" y="10.354" class="c">-r</text><text x="25.05" y="10.354" class="c">Gotla</text></svg><svg x="8520"><use xlink:href="#a"/><use xlink:href="#b" x="30.996" y="8.659"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><text y="10.354" class="c">$</text><text x="2.004" y="10.354" class="c">ppl</text><text x="6.012" y="10.354" class="c">post</text><text x="11.022" y="10.354" class="c">pippi</text><text x="17.034" y="10.354" class="c">home</text><text x="22.044" y="10.354" class="c">-r</text><text x="25.05" y="10.354" class="c">Gotlan</text></svg><svg x="8580"><use xlink:href="#a"/><use xlink:href="#b" x="31.996" y="8.659"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#32" y="8.684"/></svg><svg x="8640"><use xlink:href="#a"/><use xlink:href="#b" x="-.004" y="10.83"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#32" y="8.684"/></svg><svg x="8700"><use xlink:href="#a"/><use xlink:href="#b" x="1.996" y="10.83"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#32" y="8.684"/><use xlink:href="#1" y="10.855"/></svg><svg x="8760"><use xlink:href="#a"/><use xlink:href="#b" x="2.996" y="10.83"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#32" y="8.684"/><use xlink:href="#2" y="10.855"/></svg><svg x="8820"><use xlink:href="#a"/><use xlink:href="#b" x="3.996" y="10.83"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#32" y="8.684"/><use xlink:href="#3" y="10.855"/></svg><svg x="8880"><use xlink:href="#a"/><use xlink:href="#b" x="4.996" y="10.83"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#32" y="8.684"/><use xlink:href="#4" y="10.855"/></svg><svg x="8940"><use xlink:href="#a"/><use xlink:href="#b" x="5.996" y="10.83"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#32" y="8.684"/><use xlink:href="#4" y="10.855"/></svg><svg x="9000"><use xlink:href="#a"/><use xlink:href="#b" x="6.996" y="10.83"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#32" y="8.684"/><use xlink:href="#13" y="10.855"/></svg><svg x="9060"><use xlink:href="#a"/><use xlink:href="#b" x="7.996" y="10.83"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#32" y="8.684"/><text y="12.525" class="c">$</text><text x="2.004" y="12.525" class="c">ppl</text><text x="6.012" y="12.525" class="c">ph</text></svg><svg x="9120"><use xlink:href="#a"/><use xlink:href="#b" x="8.996" y="10.83"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#32" y="8.684"/><text y="12.525" class="c">$</text><text x="2.004" y="12.525" class="c">ppl</text><text x="6.012" y="12.525" class="c">pho</text></svg><svg x="9180"><use xlink:href="#a"/><use xlink:href="#b" x="9.996" y="10.83"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#32" y="8.684"/><text y="12.525" class="c">$</text><text x="2.004" y="12.525" class="c">ppl</text><text x="6.012" y="12.525" class="c">phon</text></svg><svg x="9240"><use xlink:href="#a"/><use xlink:href="#b" x="10.996" y="10.83"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#32" y="8.684"/><use xlink:href="#33" y="10.855"/></svg><svg x="9300"><use xlink:href="#a"/><use xlink:href="#b" x="11.996" y="10.83"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#32" y="8.684"/><use xlink:href="#33" y="10.855"/></svg><svg x="9360"><use xlink:href="#a"/><use xlink:href="#b" x="12.996" y="10.83"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#32" y="8.684"/><text y="12.525" class="c">$</text><text x="2.004" y="12.525" class="c">ppl</text><text x="6.012" y="12.525" class="c">phone</text><text x="12.024" y="12.525" class="c">p</text></svg><svg x="9420"><use xlink:href="#a"/><use xlink:href="#b" x="13.996" y="10.83"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#32" y="8.684"/><text y="12.525" class="c">$</text><text x="2.004" y="12.525" class="c">ppl</text><text x="6.012" y="12.525" class="c">phone</text><text x="12.024" y="12.525" class="c">pi</text></svg><svg x="9480"><use xlink:href="#a"/><use xlink:href="#b" x="14.996" y="10.83"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#32" y="8.684"/><text y="12.525" class="c">$</text><text x="2.004" y="12.525" class="c">ppl</text><text x="6.012" y="12.525" class="c">phone</text><text x="12.024" y="12.525" class="c">pip</text></svg><svg x="9540"><use xlink:href="#a"/><use xlink:href="#b" x="15.996" y="10.83"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#32" y="8.684"/><text y="12.525" class="c">$</text><text x="2.004" y="12.525" class="c">ppl</text><text x="6.012" y="12.525" class="c">phone</text><text x="12.024" y="12.525" class="c">pipp</text></svg><svg x="9600"><use xlink:href="#a"/><use xlink:href="#b" x="16.996" y="10.83"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#32" y="8.684"/><use xlink:href="#34" y="10.855"/></svg><svg x="9660"><use xlink:href="#a"/><use xlink:href="#b" x="17.996" y="10.83"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#32" y="8.684"/><use xlink:href="#34" y="10.855"/></svg><svg x="9720"><use xlink:href="#a"/><use xlink:href="#b" x="18.996" y="10.83"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#32" y="8.684"/><text y="12.525" class="c">$</text><text x="2.004" y="12.525" class="c">ppl</text><text x="6.012" y="12.525" class="c">phone</text><text x="12.024" y="12.525" class="c">pippi</text><text x="18.036" y="12.525" class="c">0</text></svg><svg x="9780"><use xlink:href="#a"/><use xlink:href="#b" x="19.996" y="10.83"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#32" y="8.684"/><text y="12.525" class="c">$</text><text x="2.004" y="12.525" class="c">ppl</text><text x="6.012" y="12.525" class="c">phone</text><text x="12.024" y="12.525" class="c">pippi</text><text x="18.036" y="12.525" class="c">01</text></svg><svg x="9840"><use xlink:href="#a"/><use xlink:href="#b" x="20.996" y="10.83"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#32" y="8.684"/><text y="12.525" class="c">$</text><text x="2.004" y="12.525" class="c">ppl</text><text x="6.012" y="12.525" class="c">phone</text><text x="12.024" y="12.525" class="c">pippi</text><text x="18.036" y="12.525" class="c">012</text></svg><svg x="9900"><use xlink:href="#a"/><use xlink:href="#b" x="21.996" y="10.83"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#32" y="8.684"/><text y="12.525" class="c">$</text><text x="2.004" y="12.525" class="c">ppl</text><text x="6.012" y="12.525" class="c">phone</text><text x="12.024" y="12.525" class="c">pippi</text><text x="18.036" y="12.525" class="c">0123</text></svg><svg x="9960"><use xlink:href="#a"/><use xlink:href="#b" x="22.996" y="10.83"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#32" y="8.684"/><text y="12.525" class="c">$</text><text x="2.004" y="12.525" class="c">ppl</text><text x="6.012" y="12.525" class="c">phone</text><text x="12.024" y="12.525" class="c">pippi</text><text x="18.036" y="12.525" class="c">01234</text></svg><svg x="10020"><use xlink:href="#a"/><use xlink:href="#b" x="23.996" y="10.83"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#32" y="8.684"/><text y="12.525" class="c">$</text><text x="2.004" y="12.525" class="c">ppl</text><text x="6.012" y="12.525" class="c">phone</text><text x="12.024" y="12.525" class="c">pippi</text><text x="18.036" y="12.525" class="c">012345</text></svg><svg x="10080"><use xlink:href="#a"/><use xlink:href="#b" x="24.996" y="10.83"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#32" y="8.684"/><text y="12.525" class="c">$</text><text x="2.004" y="12.525" class="c">ppl</text><text x="6.012" y="12.525" class="c">phone</text><text x="12.024" y="12.525" class="c">pippi</text><text x="18.036" y="12.525" class="c">0123456</text></svg><svg x="10140"><use xlink:href="#a"/><use xlink:href="#b" x="25.996" y="10.83"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#32" y="8.684"/><text y="12.525" class="c">$</text><text x="2.004" y="12.525" class="c">ppl</text><text x="6.012" y="12.525" class="c">phone</text><text x="12.024" y="12.525" class="c">pippi</text><text x="18.036" y="12.525" class="c">01234567</text></svg><svg x="10200"><use xlink:href="#a"/><use xlink:href="#b" x="26.996" y="10.83"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#32" y="8.684"/><text y="12.525" class="c">$</text><text x="2.004" y="12.525" class="c">ppl</text><text x="6.012" y="12.525" class="c">phone</text><text x="12.024" y="12.525" class="c">pippi</text><text x="18.036" y="12.525" class="c">012345678</text></svg><svg x="10260"><use xlink:href="#a"/><use xlink:href="#b" x="27.996" y="10.83"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#32" y="8.684"/><use xlink:href="#35" y="10.855"/></svg><svg x="10320"><use xlink:href="#a"/><use xlink:href="#b" x="-.004" y="13.001"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#32" y="8.684"/><use xlink:href="#35" y="10.855"/></svg><svg x="10380"><use xlink:href="#a"/><use xlink:href="#b" x="1.996" y="13.001"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#32" y="8.684"/><use xlink:href="#35" y="10.855"/><use xlink:href="#1" y="13.026"/></svg><svg x="10440"><use xlink:href="#a"/><use xlink:href="#b" x="2.996" y="13.001"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#32" y="8.684"/><use xlink:href="#35" y="10.855"/><text y="14.696" class="c">$</text><text x="2.004" y="14.696" class="c">g</text></svg><svg x="10500"><use xlink:href="#a"/><use xlink:href="#b" x="3.996" y="13.001"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#32" y="8.684"/><use xlink:href="#35" y="10.855"/><text y="14.696" class="c">$</text><text x="2.004" y="14.696" class="c">gi</text></svg><svg x="10560"><use xlink:href="#a"/><use xlink:href="#b" x="4.996" y="13.001"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#32" y="8.684"/><use xlink:href="#35" y="10.855"/><use xlink:href="#36" y="13.026"/></svg><svg x="10620"><use xlink:href="#a"/><use xlink:href="#b" x="5.996" y="13.001"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#32" y="8.684"/><use xlink:href="#35" y="10.855"/><use xlink:href="#36" y="13.026"/></svg><svg x="10680"><use xlink:href="#a"/><use xlink:href="#b" x="6.996" y="13.001"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#32" y="8.684"/><use xlink:href="#35" y="10.855"/><text y="14.696" class="c">$</text><text x="2.004" y="14.696" class="c">git</text><text x="6.012" y="14.696" class="c">r</text></svg><svg x="10740"><use xlink:href="#a"/><use xlink:href="#b" x="7.996" y="13.001"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#32" y="8.684"/><use xlink:href="#35" y="10.855"/><text y="14.696" class="c">$</text><text x="2.004" y="14.696" class="c">git</text><text x="6.012" y="14.696" class="c">re</text></svg><svg x="10800"><use xlink:href="#a"/><use xlink:href="#b" x="8.996" y="13.001"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#32" y="8.684"/><use xlink:href="#35" y="10.855"/><text y="14.696" class="c">$</text><text x="2.004" y="14.696" class="c">git</text><text x="6.012" y="14.696" class="c">ref</text></svg><svg x="10860"><use xlink:href="#a"/><use xlink:href="#b" x="9.996" y="13.001"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#32" y="8.684"/><use xlink:href="#35" y="10.855"/><text y="14.696" class="c">$</text><text x="2.004" y="14.696" class="c">git</text><text x="6.012" y="14.696" class="c">refl</text></svg><svg x="10920"><use xlink:href="#a"/><use xlink:href="#b" x="10.996" y="13.001"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#32" y="8.684"/><use xlink:href="#35" y="10.855"/><text y="14.696" class="c">$</text><text x="2.004" y="14.696" class="c">git</text><text x="6.012" y="14.696" class="c">reflo</text></svg><svg x="10980"><use xlink:href="#a"/><use xlink:href="#b" x="11.996" y="13.001"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#32" y="8.684"/><use xlink:href="#35" y="10.855"/><use xlink:href="#37" y="13.026"/></svg><svg x="11040"><use xlink:href="#a"/><use xlink:href="#b" x="-.004" y="15.172"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#32" y="8.684"/><use xlink:href="#35" y="10.855"/><use xlink:href="#37" y="13.026"/></svg><svg x="11100"><use xlink:href="#a"/><use xlink:href="#b" x="-.004" y="15.172"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#32" y="8.684"/><use xlink:href="#35" y="10.855"/><use xlink:href="#37" y="13.026"/></svg><svg x="11160"><use xlink:href="#a"/><use xlink:href="#b" x="-.004" y="28.198"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#32" y="8.684"/><use xlink:href="#35" y="10.855"/><use xlink:href="#37" y="13.026"/><use xlink:href="#38" y="15.197"/><use xlink:href="#39" y="17.368"/><use xlink:href="#40" y="19.539"/><use xlink:href="#41" y="21.71"/><use xlink:href="#42" y="23.881"/><use xlink:href="#43" y="26.052"/></svg><svg x="11220"><use xlink:href="#a"/><use xlink:href="#b" x="1.996" y="28.198"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#32" y="8.684"/><use xlink:href="#35" y="10.855"/><use xlink:href="#37" y="13.026"/><use xlink:href="#38" y="15.197"/><use xlink:href="#39" y="17.368"/><use xlink:href="#40" y="19.539"/><use xlink:href="#41" y="21.71"/><use xlink:href="#42" y="23.881"/><use xlink:href="#43" y="26.052"/><use xlink:href="#1" y="28.223"/></svg><svg x="11280"><use xlink:href="#a"/><use xlink:href="#b" x="-.004" y="30.369"/><use xlink:href="#6"/><use xlink:href="#8" y="2.171"/><use xlink:href="#12" y="4.342"/><use xlink:href="#30" y="6.513"/><use xlink:href="#32" y="8.684"/><use xlink:href="#35" y="10.855"/><use xlink:href="#37" y="13.026"/><use xlink:href="#38" y="15.197"/><use xlink:href="#39" y="17.368"/><use xlink:href="#40" y="19.539"/><use xlink:href="#41" y="21.71"/><use xlink:href="#42" y="23.881"/><use xlink:href="#43" y="26.052"/><text y="29.893" class="c">$</text><text x="2.004" y="29.893" class="c">exit</text></svg></svg></g></g></svg></svg>
@@ -20,7 +20,7 @@ end
20
20
 
21
21
  Then /^there should be (\d+) contacts?$/ do |n|
22
22
  contact_list = ppl("ls").strip.split("\n")
23
- contact_list.length.should eq n.to_i
23
+ expect(contact_list.length).to eq n.to_i
24
24
  if contact_list[0]
25
25
  @contact_id = contact_list[0].split(":").first
26
26
  end
@@ -33,84 +33,84 @@ end
33
33
 
34
34
  Then /^(bob) should have (\d+) nicknames?$/ do |name, number|
35
35
  @nicknames = ppl("nick #{name}").split("\n")
36
- @nicknames.length.should eq number.to_i
36
+ expect(@nicknames.length).to eq number.to_i
37
37
  end
38
38
 
39
39
  Then /^(bob) should have (\d+) organizations?$/ do |name, number|
40
40
  @organizations = ppl("org #{name}").split("\n")
41
- @organizations.length.should eq number.to_i
41
+ expect(@organizations.length).to eq number.to_i
42
42
  end
43
43
 
44
44
  Then /^(bob) should have (\d+) phone numbers?$/ do |name, number|
45
45
  @phone_numbers = ppl("phone #{name}").split("\n")
46
- @phone_numbers.length.should eq number.to_i
46
+ expect(@phone_numbers.length).to eq number.to_i
47
47
  end
48
48
 
49
49
  Then /^(bob) should have (\d+) postal addresse?s?$/ do |name, number|
50
50
  @postal_addresses = ppl("post #{name}").split("\n")
51
- @postal_addresses.length.should eq number.to_i
51
+ expect(@postal_addresses.length).to eq number.to_i
52
52
  end
53
53
 
54
54
  Then /^(bob) should have (\d+) URLs?$/ do |name, number|
55
55
  @urls = ppl("url #{name}").split("\n")
56
- @urls.length.should eq number.to_i
56
+ expect(@urls.length).to eq number.to_i
57
57
  end
58
58
 
59
59
  And /^its ID should be "([^"]+)"$/ do |id|
60
- @contact_id.should eq id
60
+ expect(@contact_id).to eq id
61
61
  end
62
62
 
63
63
  And /^its name should be "([^"]+)"$/ do |name|
64
- ppl("name #{@contact_id}").should eq name
64
+ expect(ppl("name #{@contact_id}")).to eq name
65
65
  end
66
66
 
67
67
  Then(/^the (\d+).. email address should be "([^"]+)"$/) do |nth, address|
68
- @email_addresses[nth.to_i - 1].strip.should eq address
68
+ expect(@email_addresses[nth.to_i - 1].strip).to eq address
69
69
  end
70
70
 
71
71
  Then /^running "ppl ([^"]+)" should output (\d+) lines?$/ do |command, lines|
72
72
  @output = ppl(command).split("\n")
73
- @output.length.should eq lines.to_i
73
+ expect(@output.length).to eq lines.to_i
74
74
  end
75
75
 
76
76
  And /^the (\d+).. line should be "([^"]+)"$/ do |nth, line|
77
- @output[nth.to_i - 1].should eq line
77
+ expect(@output[nth.to_i - 1]).to eq line
78
78
  end
79
79
 
80
80
  Then(/^the (\d+).. nickname should be "([^"]+)"$/) do |nth, nickname|
81
- @nicknames[nth.to_i - 1].should eq nickname
81
+ expect(@nicknames[nth.to_i - 1]).to eq nickname
82
82
  end
83
83
 
84
84
  Then(/^the (\d+).. organization should be "([^"]+)"$/) do |nth, organization|
85
- @organizations[nth.to_i - 1].should eq organization
85
+ expect(@organizations[nth.to_i - 1]).to eq organization
86
86
  end
87
87
 
88
88
  Then(/^the (\d+).. phone number should be "([^"]+)"$/) do |nth, phone_number|
89
- @phone_numbers[nth.to_i - 1].should eq phone_number
89
+ expect(@phone_numbers[nth.to_i - 1]).to eq phone_number
90
90
  end
91
91
 
92
92
  Then(/^the (\d+).. postal address should be "([^"]+)"$/) do |nth, address|
93
- @postal_addresses[nth.to_i - 1].should eq address
93
+ expect(@postal_addresses[nth.to_i - 1]).to eq address
94
94
  end
95
95
 
96
96
  Then(/^the (\d+).. URL should be "([^"]+)"$/) do |nth, url|
97
- @urls[nth.to_i - 1].should eq url
97
+ expect(@urls[nth.to_i - 1]).to eq url
98
98
  end
99
99
 
100
100
  And /^"([^"]+)" should be the favourite email address$/ do |email_address|
101
- @email_addresses.should include "* #{email_address}"
101
+ expect(@email_addresses).to include "* #{email_address}"
102
102
  @email_addresses.each do |line|
103
103
  if line.include? "*"
104
- line.should eq "* #{email_address}"
104
+ expect(line).to eq "* #{email_address}"
105
105
  end
106
106
  end
107
107
  end
108
108
 
109
109
  And /^"([^"]+)" should be the preferred phone number$/ do |phone_number|
110
- @phone_numbers.should include "* #{phone_number}"
110
+ expect(@phone_numbers).to include "* #{phone_number}"
111
111
  @phone_numbers.each do |line|
112
112
  if line.include? "*"
113
- line.should eq "* #{phone_number}"
113
+ expect(line).to eq "* #{phone_number}"
114
114
  end
115
115
  end
116
116
  end
@@ -118,25 +118,25 @@ end
118
118
  And /^"([^"]+)" should be the preferred postal address$/ do |postal_address|
119
119
  @postal_addresses.each do |line|
120
120
  if line.include? "*"
121
- line.should include "* #{postal_address}"
121
+ expect(line).to include "* #{postal_address}"
122
122
  end
123
123
  end
124
124
  end
125
125
 
126
126
  And /^there should be no favourite email address$/ do
127
127
  @email_addresses.each do |line|
128
- line.should_not include "*"
128
+ expect(line).not_to include "*"
129
129
  end
130
130
  end
131
131
 
132
132
  And /^there should be no preferred phone number$/ do
133
133
  @phone_numbers.each do |line|
134
- line.should_not include "*"
134
+ expect(line).not_to include "*"
135
135
  end
136
136
  end
137
137
 
138
138
  Then /^(bob)'s birthday should be "([^"]+)"$/ do |id, birthday|
139
- ppl("bday #{id}").should eq birthday
139
+ expect(ppl("bday #{id}")).to eq birthday
140
140
  end
141
141
 
142
142
  And /^(bob)'s name is "([^"]+)"$/ do |id, name|
@@ -6,7 +6,7 @@ class Ppl::Adapter::Storage::Disk < Ppl::Adapter::Storage
6
6
  attr_accessor :vcard_adapter
7
7
 
8
8
  def self.create_address_book(path)
9
- if !Dir.exists? path
9
+ if !Dir.exist? path
10
10
  FileUtils.mkdir_p(path)
11
11
  end
12
12
  storage = self.new(Dir.new(path))
@@ -41,7 +41,7 @@ class Ppl::Adapter::Storage::Disk < Ppl::Adapter::Storage
41
41
  def load_contact(id)
42
42
  filename = filename_for_contact_id(id)
43
43
  contact = nil
44
- if File.exists?(filename)
44
+ if File.exist?(filename)
45
45
  vcard = File.read filename
46
46
  contact = @vcard_adapter.decode(vcard)
47
47
  if !contact.nil? && contact.is_a?(Ppl::Entity::Contact)
@@ -12,7 +12,7 @@ class Ppl::Adapter::Storage::Factory
12
12
 
13
13
  adapter = disk_adapter
14
14
 
15
- if File.exists?(git_dir)
15
+ if File.exist?(git_dir)
16
16
  git_adapter = Ppl::Adapter::Storage::Git.new(disk_adapter)
17
17
  git_adapter.vcard_adapter = @vcard_adapter
18
18
  adapter = git_adapter
@@ -64,9 +64,9 @@ class Ppl::Application::Configuration
64
64
  end
65
65
  filename = File.expand_path(USER_CONFIG)
66
66
  @user_config = {}
67
- if File.exists?(filename)
67
+ if File.exist?(filename)
68
68
  @user_config = IniFile::load(filename).to_h
69
- elsif File.exists?(xdg_path)
69
+ elsif File.exist?(xdg_path)
70
70
  @user_config = IniFile::load(xdg_path).to_h
71
71
  end
72
72
  return @user_config
@@ -26,7 +26,7 @@ class Ppl::Command::Completion < Ppl::Application::Command
26
26
 
27
27
  def require_completion_existence(shell_name)
28
28
  path = File.join(@completions_directory.path, shell_name)
29
- if !File.exists? path
29
+ if !File.exist? path
30
30
  raise Ppl::Error::CompletionNotFound, shell_name
31
31
  end
32
32
  path
@@ -35,7 +35,7 @@ class Ppl::Command::Shell < Ppl::Application::Command
35
35
 
36
36
  def welcome_user(input, output)
37
37
  if input.stdin.tty?
38
- output.line("ppl #{Ppl::Version} (type \"exit\" to leave)")
38
+ output.line("ppl #{Ppl::VERSION} (type \"exit\" to leave)")
39
39
  end
40
40
  end
41
41
 
@@ -10,7 +10,7 @@ class Ppl::Command::Version < Ppl::Application::Command
10
10
  end
11
11
 
12
12
  def execute(input, output)
13
- output.line("ppl version #{Ppl::Version}")
13
+ output.line("ppl version #{Ppl::VERSION}")
14
14
  true
15
15
  end
16
16
 
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Ppl
4
+ VERSION = '4.0.5'.freeze
5
+ end
data/lib/ppl.rb CHANGED
@@ -1,7 +1,6 @@
1
- module Ppl
2
-
3
- Version = "3.0.1"
1
+ require "rubygems"
4
2
 
3
+ module Ppl
5
4
  module Adapter
6
5
  end
7
6
 
@@ -121,6 +120,7 @@ require "ppl/service/email_address"
121
120
  require "ppl/service/name"
122
121
  require "ppl/service/phone_number"
123
122
  require "ppl/service/postal_address"
123
+ require "ppl/version"
124
124
 
125
125
  class String
126
126
  alias_method :each, :each_line
data/makefile ADDED
@@ -0,0 +1,29 @@
1
+ CASTS_DIR := ./site/casts
2
+ CASTS_SRC := $(wildcard $(CASTS_DIR)/*.cast)
3
+ CASTS_DST := $(patsubst %.cast, %.svg, $(CASTS_SRC))
4
+ SVGTERM_BIN := yarn svg-term
5
+ SVGTERM_ARGS := --width 60 --height 28 --padding 8
6
+
7
+ _site: $(CASTS_DST)
8
+ yarn build
9
+
10
+ $(CASTS_DIR)/%.svg:
11
+ cat $(CASTS_DIR)/$*.cast | $(SVGTERM_BIN) --out $@ $(SVGTERM_ARGS)
12
+
13
+ clean:
14
+ rm -f site/casts/*.svg
15
+ rm -rf _site
16
+
17
+ NEWS_SRC := $(shell git grep -l "layout: news" gh-pages/ )
18
+ NEWS := $(patsubst gh-pages/_posts/%, %, $(NEWS_SRC))
19
+ NEWS_DST := $(addsuffix .md, $(addprefix site/news/, $(NEWS)))
20
+ site/news/%.md:
21
+ git mv gh-pages/_posts/$* $@
22
+
23
+ config: $(NEWS_DST)
24
+ echo $(NEWS)
25
+ echo $(NEWS_DST)
26
+
27
+
28
+ .PHONY: clean
29
+
data/ppl.gemspec CHANGED
@@ -1,7 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'lib/ppl/version'
4
+
1
5
  Gem::Specification.new do |spec|
2
6
 
3
7
  spec.name = "ppl"
4
- spec.version = "4.0.2"
8
+ spec.version = Ppl::VERSION
5
9
  spec.date = "2021-04-02"
6
10
 
7
11
  spec.required_ruby_version = ">= 3.0.0"
@@ -13,24 +17,27 @@ Gem::Specification.new do |spec|
13
17
  spec.add_dependency("colored", "1.2")
14
18
  spec.add_dependency("inifile", "3.0.0")
15
19
  spec.add_dependency("mail", "2.7.1")
20
+ spec.add_dependency("net-imap", "0.4.14")
21
+ spec.add_dependency("net-pop", "0.1.2")
22
+ spec.add_dependency("net-smtp", "0.5.0")
16
23
  spec.add_dependency("morphine", "0.1.1")
17
- spec.add_dependency("rugged", "1.1.0")
24
+ spec.add_dependency("rugged", "1.7.2")
18
25
  spec.add_dependency("vpim", "13.11.11")
19
26
 
20
27
  spec.add_development_dependency("cucumber")
21
28
  spec.add_development_dependency("pry")
22
29
  spec.add_development_dependency("rspec")
23
30
  spec.add_development_dependency("rake")
24
- spec.add_development_dependency("fakefs")
31
+ spec.add_development_dependency("fakefs", "~> 1.9.0")
25
32
 
26
33
  spec.authors = ["Henry Catalini Smith"]
27
- spec.email = "hen@hey.com"
34
+ spec.email = "henry@catalinismith.com"
28
35
 
29
36
  spec.executables = "ppl"
30
37
 
31
38
  spec.files = `git ls-files`.split("\n")
32
39
  spec.require_path = "lib"
33
- spec.homepage = "https://github.com/hendotcat/ppl"
40
+ spec.homepage = "https://github.com/henrycatalinismith/ppl"
34
41
 
35
42
  end
36
43
 
data/ppl.svg ADDED
@@ -0,0 +1,12 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="-1 0 12 8" stroke-linecap="round" stroke-linejoin="round" height="32px" width="64px">
2
+ <defs>
3
+ <path id="p" d="M0,6 L0,3 L2,3 L2,5 L0,5" />
4
+ <path id="l" d="M0,3 L0,6 L2,6" />
5
+ </defs>
6
+ <use xlink:href="#p" fill="none" stroke="#000000" stroke-width="2.8" x="0" y="0" />
7
+ <use xlink:href="#p" fill="none" stroke="#fff1e8" stroke-width="1" x="0" y="0" />
8
+ <use xlink:href="#p" fill="none" stroke="#000000" stroke-width="2.8" x="4" y="0" />
9
+ <use xlink:href="#p" fill="none" stroke="#fff1e8" stroke-width="1" x="4" y="0" />
10
+ <use xlink:href="#l" fill="none" stroke="#000000" stroke-width="2.8" x="8" y="0" />
11
+ <use xlink:href="#l" fill="none" stroke="#fff1e8" stroke-width="1" x="8" y="0" />
12
+ </svg>
data/readme.md CHANGED
@@ -11,10 +11,10 @@ like "people". You might be interested in ppl if:
11
11
  * You want ownership of your address book data back from the cloud
12
12
  * You prefer to keep your data stored in an open format
13
13
 
14
- <a href="https://github.com/hendotcat/ppl/actions/workflows/build.yml">
14
+ <a href="https://github.com/henrycatalinismith/ppl/actions/workflows/build.yml">
15
15
  <img
16
16
  alt="Build status"
17
- src="https://github.com/hendotcat/ppl/actions/workflows/build.yml/badge.svg"
17
+ src="https://github.com/henrycatalinismith/ppl/actions/workflows/build.yml/badge.svg"
18
18
  />
19
19
  </a>
20
20
 
@@ -77,9 +77,9 @@ Contributing
77
77
  ------------
78
78
 
79
79
  Bug reports, fixes, and additional features are encouraged. The project uses
80
- [Github issues](https://github.com/hendotcat/ppl/issues) to track bug reports.
80
+ [Github issues](https://github.com/henrycatalinismith/ppl/issues) to track bug reports.
81
81
 
82
- Everyone interacting in ppl’s codebases, issue trackers etc is expected to follow the [code of conduct](https://github.com/hendotcat/ppl/blob/trunk/code_of_conduct.md).
82
+ Everyone interacting in ppl’s codebases, issue trackers etc is expected to follow the [code of conduct](https://github.com/henrycatalinismith/ppl/blob/trunk/code_of_conduct.md).
83
83
 
84
84
  License
85
85
  -------
@@ -11,7 +11,7 @@ describe Ppl::Adapter::Storage::Disk, "#create_address_book" do
11
11
  describe "#create_address_book" do
12
12
  it "should create the directory if it doesn't exist yet" do
13
13
  Ppl::Adapter::Storage::Disk.create_address_book("/contacts")
14
- expect(Dir.exists?("/contacts")).to eq true
14
+ expect(Dir.exist?("/contacts")).to eq true
15
15
  FileUtils.rm_rf("/contacts")
16
16
  end
17
17
  it "should return a Ppl::Adapter::Storage::Disk" do
@@ -130,7 +130,7 @@ describe Ppl::Adapter::Storage::Disk do
130
130
  FileUtils.touch "/contacts/test.vcf"
131
131
  @contact.id = "test"
132
132
  @storage.delete_contact(@contact)
133
- expect(File.exists?("/contacts/test.vcf")).to eq false
133
+ expect(File.exist?("/contacts/test.vcf")).to eq false
134
134
  end
135
135
  end
136
136
 
@@ -18,7 +18,7 @@ describe Ppl::Command::Completion do
18
18
 
19
19
  before(:each) do
20
20
  allow(@directory).to receive(:path).and_return("")
21
- allow(File).to receive(:exists?).and_return(true)
21
+ allow(File).to receive(:exist?).and_return(true)
22
22
  allow(File).to receive(:read)
23
23
  end
24
24
 
@@ -29,7 +29,7 @@ describe Ppl::Command::Completion do
29
29
 
30
30
  it "should raise an error if the shell is not recognised" do
31
31
  @input.arguments = ["invalidshell"]
32
- expect(File).to receive(:exists?).with("/invalidshell").and_return(false)
32
+ expect(File).to receive(:exist?).with("/invalidshell").and_return(false)
33
33
  expect{@command.execute(@input, @output)}.to raise_error(Ppl::Error::CompletionNotFound)
34
34
  end
35
35
 
@@ -88,7 +88,7 @@ describe Ppl::Command::Shell do
88
88
  allow(@input.stdin).to receive(:tty?) { true }
89
89
  expect(@output).to receive(:line) do |line|
90
90
  expect(line).to include "ppl"
91
- expect(line).to include Ppl::Version
91
+ expect(line).to include Ppl::VERSION
92
92
  end
93
93
  expect(Readline).to receive(:readline).and_return(false)
94
94
  allow(@command).to receive(:terminate_gracefully)
@@ -15,7 +15,7 @@ describe Ppl::Command::Version do
15
15
  describe "#execute" do
16
16
  it "should show the version number" do
17
17
  expect(@output).to receive(:line) do |line|
18
- expect(line).to include Ppl::Version
18
+ expect(line).to include Ppl::VERSION
19
19
  end
20
20
  expect(@command.execute(@input, @output)).to eq true
21
21
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ppl
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.2
4
+ version: 4.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Henry Catalini Smith
@@ -52,6 +52,48 @@ dependencies:
52
52
  - - '='
53
53
  - !ruby/object:Gem::Version
54
54
  version: 2.7.1
55
+ - !ruby/object:Gem::Dependency
56
+ name: net-imap
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '='
60
+ - !ruby/object:Gem::Version
61
+ version: 0.4.14
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '='
67
+ - !ruby/object:Gem::Version
68
+ version: 0.4.14
69
+ - !ruby/object:Gem::Dependency
70
+ name: net-pop
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '='
74
+ - !ruby/object:Gem::Version
75
+ version: 0.1.2
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '='
81
+ - !ruby/object:Gem::Version
82
+ version: 0.1.2
83
+ - !ruby/object:Gem::Dependency
84
+ name: net-smtp
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - '='
88
+ - !ruby/object:Gem::Version
89
+ version: 0.5.0
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - '='
95
+ - !ruby/object:Gem::Version
96
+ version: 0.5.0
55
97
  - !ruby/object:Gem::Dependency
56
98
  name: morphine
57
99
  requirement: !ruby/object:Gem::Requirement
@@ -72,14 +114,14 @@ dependencies:
72
114
  requirements:
73
115
  - - '='
74
116
  - !ruby/object:Gem::Version
75
- version: 1.1.0
117
+ version: 1.7.2
76
118
  type: :runtime
77
119
  prerelease: false
78
120
  version_requirements: !ruby/object:Gem::Requirement
79
121
  requirements:
80
122
  - - '='
81
123
  - !ruby/object:Gem::Version
82
- version: 1.1.0
124
+ version: 1.7.2
83
125
  - !ruby/object:Gem::Dependency
84
126
  name: vpim
85
127
  requirement: !ruby/object:Gem::Requirement
@@ -154,19 +196,19 @@ dependencies:
154
196
  name: fakefs
155
197
  requirement: !ruby/object:Gem::Requirement
156
198
  requirements:
157
- - - ">="
199
+ - - "~>"
158
200
  - !ruby/object:Gem::Version
159
- version: '0'
201
+ version: 1.9.0
160
202
  type: :development
161
203
  prerelease: false
162
204
  version_requirements: !ruby/object:Gem::Requirement
163
205
  requirements:
164
- - - ">="
206
+ - - "~>"
165
207
  - !ruby/object:Gem::Version
166
- version: '0'
208
+ version: 1.9.0
167
209
  description: ppl is a command-line address book using vCard & git for storage and
168
210
  synchronisation
169
- email: hen@hey.com
211
+ email: henry@catalinismith.com
170
212
  executables:
171
213
  - ppl
172
214
  extensions: []
@@ -176,12 +218,14 @@ files:
176
218
  - ".github/workflows/build.yml"
177
219
  - ".gitignore"
178
220
  - ".rspec"
221
+ - ".ruby-version"
179
222
  - Gemfile
180
223
  - Rakefile
181
224
  - bin/ppl
182
225
  - code_of_conduct.md
183
226
  - completions/bash
184
227
  - completions/zsh
228
+ - demo.svg
185
229
  - features/add.feature
186
230
  - features/bday.feature
187
231
  - features/email.feature
@@ -289,20 +333,20 @@ files:
289
333
  - lib/ppl/service/name.rb
290
334
  - lib/ppl/service/phone_number.rb
291
335
  - lib/ppl/service/postal_address.rb
336
+ - lib/ppl/version.rb
292
337
  - license
338
+ - makefile
293
339
  - ppl.gemspec
340
+ - ppl.svg
294
341
  - readme.md
295
342
  - spec/ppl/adapter/color/colored_spec.rb
296
- - spec/ppl/adapter/color_spec.rb
297
343
  - spec/ppl/adapter/email_scraper/mail_spec.rb
298
- - spec/ppl/adapter/email_scraper_spec.rb
299
344
  - spec/ppl/adapter/output_spec.rb
300
345
  - spec/ppl/adapter/storage/disk_spec.rb
301
346
  - spec/ppl/adapter/storage/factory_spec.rb
302
347
  - spec/ppl/adapter/storage/git_spec.rb
303
348
  - spec/ppl/adapter/storage_spec.rb
304
349
  - spec/ppl/adapter/vcard/greencard_spec.rb
305
- - spec/ppl/adapter/vcard_spec.rb
306
350
  - spec/ppl/application/bootstrap_spec.rb
307
351
  - spec/ppl/application/command_spec.rb
308
352
  - spec/ppl/application/command_suite_spec.rb
@@ -350,7 +394,6 @@ files:
350
394
  - spec/ppl/format/address_book/phone_numbers_spec.rb
351
395
  - spec/ppl/format/address_book/postal_addresses_spec.rb
352
396
  - spec/ppl/format/address_book/urls_spec.rb
353
- - spec/ppl/format/address_book_spec.rb
354
397
  - spec/ppl/format/contact/age_spec.rb
355
398
  - spec/ppl/format/contact/birthday_spec.rb
356
399
  - spec/ppl/format/contact/email_addresses_spec.rb
@@ -361,23 +404,20 @@ files:
361
404
  - spec/ppl/format/contact/postal_address_spec.rb
362
405
  - spec/ppl/format/contact/postal_addresses_spec.rb
363
406
  - spec/ppl/format/contact/urls_spec.rb
364
- - spec/ppl/format/contact_spec.rb
365
407
  - spec/ppl/format/custom/contact_spec.rb
366
408
  - spec/ppl/format/custom/email_address_spec.rb
367
409
  - spec/ppl/format/custom/phone_number_spec.rb
368
410
  - spec/ppl/format/custom_spec.rb
369
411
  - spec/ppl/format/name/full_only_spec.rb
370
- - spec/ppl/format/name_spec.rb
371
412
  - spec/ppl/format/postal_address/multi_line_spec.rb
372
413
  - spec/ppl/format/postal_address/one_line_spec.rb
373
- - spec/ppl/format/postal_address_spec.rb
374
414
  - spec/ppl/format/table_spec.rb
375
415
  - spec/ppl/service/email_address_spec.rb
376
416
  - spec/ppl/service/name_spec.rb
377
417
  - spec/ppl/service/phone_number_spec.rb
378
418
  - spec/ppl/service/postal_address_spec.rb
379
419
  - spec/spec_helper.rb
380
- homepage: https://github.com/hendotcat/ppl
420
+ homepage: https://github.com/henrycatalinismith/ppl
381
421
  licenses:
382
422
  - MIT
383
423
  metadata: {}
@@ -396,7 +436,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
396
436
  - !ruby/object:Gem::Version
397
437
  version: '0'
398
438
  requirements: []
399
- rubygems_version: 3.2.3
439
+ rubygems_version: 3.4.1
400
440
  signing_key:
401
441
  specification_version: 4
402
442
  summary: The command line address book
@@ -1,14 +0,0 @@
1
- describe Ppl::Adapter::Color do
2
-
3
- before(:each) do
4
- @adapter = Ppl::Adapter::Color.new
5
- end
6
-
7
- describe "#colorize" do
8
- it "should raise not implemented error" do
9
- expect{@adapter.colorize(nil, nil)}.to raise_error(NotImplementedError)
10
- end
11
- end
12
-
13
- end
14
-
@@ -1,14 +0,0 @@
1
- describe Ppl::Adapter::EmailScraper do
2
-
3
- before(:each) do
4
- @adapter = Ppl::Adapter::EmailScraper.new
5
- end
6
-
7
- describe "#scrape_contacts" do
8
- it "should raise not implemented error" do
9
- expect{@adapter.scrape_contacts("")}.to raise_error(NotImplementedError)
10
- end
11
- end
12
-
13
- end
14
-
@@ -1,23 +0,0 @@
1
- describe Ppl::Adapter::Vcard, "#encode" do
2
-
3
- describe "#encode" do
4
- before(:each) do
5
- @adapter = Ppl::Adapter::Vcard.new
6
- end
7
- it "should raise not implemented error" do
8
- expect{@adapter.encode(nil)}.to raise_error(NotImplementedError)
9
- end
10
- end
11
-
12
-
13
- describe "#decode" do
14
- before(:each) do
15
- @adapter = Ppl::Adapter::Vcard.new
16
- end
17
- it "should raise not implemented error" do
18
- expect{@adapter.decode(nil)}.to raise_error(NotImplementedError)
19
- end
20
- end
21
-
22
- end
23
-
@@ -1,17 +0,0 @@
1
- describe Ppl::Format::AddressBook do
2
-
3
- before(:each) do
4
- @format = Ppl::Format::AddressBook.new
5
- end
6
-
7
- describe "#process" do
8
-
9
- it "should raise a NotImplementedError" do
10
- expect{@format.process(nil)}.to raise_error(NotImplementedError)
11
- end
12
-
13
- end
14
-
15
- end
16
-
17
-
@@ -1,16 +0,0 @@
1
- describe Ppl::Format::Contact do
2
-
3
- before(:each) do
4
- @format = Ppl::Format::Contact.new
5
- end
6
-
7
- describe "#process" do
8
-
9
- it "should raise a NotImplementedError" do
10
- expect{@format.process(nil)}.to raise_error(NotImplementedError)
11
- end
12
-
13
- end
14
-
15
- end
16
-
@@ -1,17 +0,0 @@
1
- describe Ppl::Format::Name do
2
-
3
- before(:each) do
4
- @format = Ppl::Format::Name.new
5
- end
6
-
7
- describe "#process" do
8
-
9
- it "should raise a NotImplementedError" do
10
- expect{@format.process(nil)}.to raise_error(NotImplementedError)
11
- end
12
-
13
- end
14
-
15
- end
16
-
17
-
@@ -1,17 +0,0 @@
1
- describe Ppl::Format::PostalAddress do
2
-
3
- before(:each) do
4
- @format = Ppl::Format::PostalAddress.new
5
- end
6
-
7
- describe "#process" do
8
-
9
- it "should raise a NotImplementedError" do
10
- expect{@format.process(nil)}.to raise_error(NotImplementedError)
11
- end
12
-
13
- end
14
-
15
- end
16
-
17
-