Skip to content

Commit 37f22ae

Browse files
committed
Added the rest of the with* methods
1 parent 887be41 commit 37f22ae

File tree

3 files changed

+106
-0
lines changed

3 files changed

+106
-0
lines changed

src/Resource/EmptyProfile.php

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,13 @@ public function description() : string
6262
return null;
6363
}
6464

65+
/**
66+
* @return string
67+
*/
68+
public function url() : string
69+
{
70+
return null;
71+
}
6572

6673
/**
6774
* @param string $name
@@ -72,6 +79,33 @@ public function withName(string $name): ProfileInterface
7279
return clone $this;
7380
}
7481

82+
/**
83+
* @param string $location
84+
* @return ProfileInterface
85+
*/
86+
public function withLocation(string $location): ProfileInterface
87+
{
88+
return clone $this;
89+
}
90+
91+
/**
92+
* @param string $description
93+
* @return ProfileInterface
94+
*/
95+
public function withDescription(string $description): ProfileInterface
96+
{
97+
return clone $this;
98+
}
99+
100+
/**
101+
* @param string $url
102+
* @return ProfileInterface
103+
*/
104+
public function withUrl(string $url): ProfileInterface
105+
{
106+
return clone $this;
107+
}
108+
75109
public function putProfile()
76110
{
77111
}

src/Resource/Profile.php

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,11 @@ abstract class Profile extends AbstractResource implements ProfileInterface
4545
*/
4646
protected $description;
4747

48+
/**
49+
* @var string
50+
*/
51+
protected $url;
52+
4853
/**
4954
* @var array
5055
*/
@@ -106,6 +111,14 @@ public function description() : string
106111
return $this->description;
107112
}
108113

114+
/**
115+
* @return string
116+
*/
117+
public function url() : string
118+
{
119+
return $this->url;
120+
}
121+
109122
/**
110123
* @param string $name
111124
* @return ProfileInterface
@@ -118,6 +131,42 @@ public function withName(string $name): ProfileInterface
118131
return $clone;
119132
}
120133

134+
/**
135+
* @param string $location
136+
* @return ProfileInterface
137+
*/
138+
public function withLocation(string $location): ProfileInterface
139+
{
140+
$clone = clone $this;
141+
$clone->location = $location;
142+
$clone->changedFields['location'] = 'location';
143+
return $clone;
144+
}
145+
146+
/**
147+
* @param string $description
148+
* @return ProfileInterface
149+
*/
150+
public function withDescription(string $description): ProfileInterface
151+
{
152+
$clone = clone $this;
153+
$clone->description = $description;
154+
$clone->changedFields['description'] = 'description';
155+
return $clone;
156+
}
157+
158+
/**
159+
* @param string $url
160+
* @return ProfileInterface
161+
*/
162+
public function withUrl(string $url): ProfileInterface
163+
{
164+
$clone = clone $this;
165+
$clone->url = $url;
166+
$clone->changedFields['url'] = 'url';
167+
return $clone;
168+
}
169+
121170
public function putProfile()
122171
{
123172
}

src/Resource/ProfileInterface.php

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,12 +43,35 @@ public function profileLocation() : string;
4343
*/
4444
public function description() : string;
4545

46+
/**
47+
* @return string
48+
*/
49+
public function url() : string;
50+
4651
/**
4752
* @param string $name
4853
* @return static
4954
*/
5055
public function withName(string $name);
5156

57+
/**
58+
* @param string $location
59+
* @return static
60+
*/
61+
public function withLocation(string $location);
62+
63+
/**
64+
* @param string $description
65+
* @return static
66+
*/
67+
public function withDescription(string $description);
68+
69+
/**
70+
* @param string $url
71+
* @return static
72+
*/
73+
public function withUrl(string $url);
74+
5275
/**
5376
* @return static
5477
*/

0 commit comments

Comments
 (0)