refactor: Id -> ID

This commit is contained in:
Andrey Petrov 2016-08-24 13:47:22 -04:00
parent 0fcc076c74
commit d950112dd9
13 changed files with 64 additions and 64 deletions

View File

@ -148,16 +148,16 @@ func InitCommands(c *Commands) {
}
u := msg.From()
member, ok := room.MemberById(u.Id())
member, ok := room.MemberByID(u.ID())
if !ok {
return errors.New("failed to find member")
}
oldId := member.Id()
member.SetId(SanitizeName(args[0]))
err := room.Rename(oldId, member)
oldID := member.ID()
member.SetID(SanitizeName(args[0]))
err := room.Rename(oldID, member)
if err != nil {
member.SetId(oldId)
member.SetID(oldID)
return err
}
return nil
@ -187,7 +187,7 @@ func InitCommands(c *Commands) {
if len(args) == 0 {
theme := "plain"
if user.Config.Theme != nil {
theme = user.Config.Theme.Id()
theme = user.Config.Theme.ID()
}
body := fmt.Sprintf("Current theme: %s", theme)
room.Send(message.NewSystemMsg(body, user))
@ -196,7 +196,7 @@ func InitCommands(c *Commands) {
id := args[0]
for _, t := range message.Themes {
if t.Id() == id {
if t.ID() == id {
user.Config.Theme = &t
body := fmt.Sprintf("Set theme: %s", id)
room.Send(message.NewSystemMsg(body, user))
@ -266,7 +266,7 @@ func InitCommands(c *Commands) {
return nil
}
target, ok := room.MemberById(id)
target, ok := room.MemberByID(id)
if !ok {
return fmt.Errorf("user %s not found.", id)
}

View File

@ -2,25 +2,25 @@ package message
// Identifier is an interface that can uniquely identify itself.
type Identifier interface {
Id() string
SetId(string)
ID() string
SetID(string)
Name() string
}
// SimpleId is a simple Identifier implementation used for testing.
type SimpleId string
// SimpleID is a simple Identifier implementation used for testing.
type SimpleID string
// Id returns the Id as a string.
func (i SimpleId) Id() string {
// ID returns the ID as a string.
func (i SimpleID) ID() string {
return string(i)
}
// SetId is a no-op
func (i SimpleId) SetId(s string) {
// SetID is a no-op
func (i SimpleID) SetID(s string) {
// no-op
}
// Name returns the Id
func (i SimpleId) Name() string {
return i.Id()
// Name returns the ID
func (i SimpleID) Name() string {
return i.ID()
}

View File

@ -11,7 +11,7 @@ func TestMessage(t *testing.T) {
t.Errorf("Got: `%s`; Expected: `%s`", actual, expected)
}
u := NewUser(SimpleId("foo"))
u := NewUser(SimpleID("foo"))
expected = "foo: hello"
actual = NewPublicMsg("hello", u).String()
if actual != expected {

View File

@ -122,7 +122,7 @@ type Theme struct {
names *Palette
}
func (t Theme) Id() string {
func (t Theme) ID() string {
return t.id
}
@ -233,7 +233,7 @@ func init() {
}
func printTheme(t Theme) {
fmt.Println("Printing theme:", t.Id())
fmt.Println("Printing theme:", t.ID())
if t.names != nil {
for i, color := range t.names.colors {
fmt.Printf("%s ", color.Format(fmt.Sprintf("name%d", i)))

View File

@ -51,7 +51,7 @@ func TestTheme(t *testing.T) {
t.Errorf("Got: %q; Expected: %q", actual, expected)
}
u := NewUser(SimpleId("foo"))
u := NewUser(SimpleID("foo"))
u.colorIdx = 4
actual = colorTheme.ColorName(u)
expected = "\033[38;05;5mfoo\033[0m"

View File

@ -57,8 +57,8 @@ func NewUserScreen(identity Identifier, screen io.WriteCloser) *User {
}
// Rename the user with a new Identifier.
func (u *User) SetId(id string) {
u.Identifier.SetId(id)
func (u *User) SetID(id string) {
u.Identifier.SetID(id)
u.SetColorIdx(rand.Int())
}
@ -194,15 +194,15 @@ func (u *User) Ignore(other Identifier) error {
return errors.New("user is nil.")
}
if other.Id() == u.Id() {
if other.ID() == u.ID() {
return errors.New("cannot ignore self.")
}
if u.Ignored.In(other.Id()) {
if u.Ignored.In(other.ID()) {
return errors.New("user already ignored.")
}
u.Ignored.Add(set.Itemize(other.Id(), other))
u.Ignored.Add(set.Itemize(other.ID(), other))
return nil
}

View File

@ -9,7 +9,7 @@ func TestMakeUser(t *testing.T) {
var actual, expected []byte
s := &MockScreen{}
u := NewUserScreen(SimpleId("foo"), s)
u := NewUserScreen(SimpleID("foo"), s)
m := NewAnnounceMsg("hello")
defer u.Close()

View File

@ -100,7 +100,7 @@ func (r *Room) HandleMsg(m message.Message) {
r.Members.Each(func(_ string, item set.Item) (err error) {
user := item.Value().(*Member).User
if fromMsg != nil && user.Ignored.In(fromMsg.From().Id()) {
if fromMsg != nil && user.Ignored.In(fromMsg.From().ID()) {
// Skip because ignored
return
}
@ -144,11 +144,11 @@ func (r *Room) History(u *message.User) {
// Join the room as a user, will announce.
func (r *Room) Join(u *message.User) (*Member, error) {
// TODO: Check if closed
if u.Id() == "" {
if u.ID() == "" {
return nil, ErrInvalidName
}
member := &Member{u}
err := r.Members.Add(set.Itemize(u.Id(), member))
err := r.Members.Add(set.Itemize(u.ID(), member))
if err != nil {
return nil, err
}
@ -160,27 +160,27 @@ func (r *Room) Join(u *message.User) (*Member, error) {
// Leave the room as a user, will announce. Mostly used during setup.
func (r *Room) Leave(u message.Identifier) error {
err := r.Members.Remove(u.Id())
err := r.Members.Remove(u.ID())
if err != nil {
return err
}
r.Ops.Remove(u.Id())
r.Ops.Remove(u.ID())
s := fmt.Sprintf("%s left.", u.Name())
r.Send(message.NewAnnounceMsg(s))
return nil
}
// Rename member with a new identity. This will not call rename on the member.
func (r *Room) Rename(oldId string, u message.Identifier) error {
if u.Id() == "" {
func (r *Room) Rename(oldID string, u message.Identifier) error {
if u.ID() == "" {
return ErrInvalidName
}
err := r.Members.Replace(oldId, set.Itemize(u.Id(), u))
err := r.Members.Replace(oldID, set.Itemize(u.ID(), u))
if err != nil {
return err
}
s := fmt.Sprintf("%s is now known as %s.", oldId, u.Id())
s := fmt.Sprintf("%s is now known as %s.", oldID, u.ID())
r.Send(message.NewAnnounceMsg(s))
return nil
}
@ -188,7 +188,7 @@ func (r *Room) Rename(oldId string, u message.Identifier) error {
// Member returns a corresponding Member object to a User if the Member is
// present in this room.
func (r *Room) Member(u *message.User) (*Member, bool) {
m, ok := r.MemberById(u.Id())
m, ok := r.MemberByID(u.ID())
if !ok {
return nil, false
}
@ -199,7 +199,7 @@ func (r *Room) Member(u *message.User) (*Member, bool) {
return m, true
}
func (r *Room) MemberById(id string) (*Member, bool) {
func (r *Room) MemberByID(id string) (*Member, bool) {
m, err := r.Members.Get(id)
if err != nil {
return nil, false
@ -209,7 +209,7 @@ func (r *Room) MemberById(id string) (*Member, bool) {
// IsOp returns whether a user is an operator in this room.
func (r *Room) IsOp(u *message.User) bool {
return r.Ops.In(u.Id())
return r.Ops.In(u.ID())
}
// Topic of the room.

View File

@ -59,7 +59,7 @@ func TestIgnore(t *testing.T) {
users := make([]ScreenedUser, 3)
for i := 0; i < 3; i++ {
screen := &MockScreen{}
user := message.NewUserScreen(message.SimpleId(fmt.Sprintf("user%d", i)), screen)
user := message.NewUserScreen(message.SimpleID(fmt.Sprintf("user%d", i)), screen)
users[i] = ScreenedUser{
user: user,
screen: screen,
@ -176,7 +176,7 @@ func TestRoomJoin(t *testing.T) {
var expected, actual []byte
s := &MockScreen{}
u := message.NewUserScreen(message.SimpleId("foo"), s)
u := message.NewUserScreen(message.SimpleID("foo"), s)
ch := NewRoom()
go ch.Serve()
@ -212,7 +212,7 @@ func TestRoomJoin(t *testing.T) {
}
func TestRoomDoesntBroadcastAnnounceMessagesWhenQuiet(t *testing.T) {
u := message.NewUser(message.SimpleId("foo"))
u := message.NewUser(message.SimpleID("foo"))
u.Config = message.UserConfig{
Quiet: true,
}
@ -251,7 +251,7 @@ func TestRoomDoesntBroadcastAnnounceMessagesWhenQuiet(t *testing.T) {
}
func TestRoomQuietToggleBroadcasts(t *testing.T) {
u := message.NewUser(message.SimpleId("foo"))
u := message.NewUser(message.SimpleID("foo"))
u.Config = message.UserConfig{
Quiet: true,
}
@ -290,7 +290,7 @@ func TestQuietToggleDisplayState(t *testing.T) {
var expected, actual []byte
s := &MockScreen{}
u := message.NewUserScreen(message.SimpleId("foo"), s)
u := message.NewUserScreen(message.SimpleID("foo"), s)
ch := NewRoom()
go ch.Serve()
@ -331,7 +331,7 @@ func TestRoomNames(t *testing.T) {
var expected, actual []byte
s := &MockScreen{}
u := message.NewUserScreen(message.SimpleId("foo"), s)
u := message.NewUserScreen(message.SimpleID("foo"), s)
ch := NewRoom()
go ch.Serve()

View File

@ -10,28 +10,28 @@ import (
func TestSet(t *testing.T) {
var err error
s := set.New()
u := message.NewUser(message.SimpleId("foo"))
u := message.NewUser(message.SimpleID("foo"))
if s.In(u.Id()) {
if s.In(u.ID()) {
t.Errorf("Set should be empty.")
}
err = s.Add(set.Itemize(u.Id(), u))
err = s.Add(set.Itemize(u.ID(), u))
if err != nil {
t.Error(err)
}
if !s.In(u.Id()) {
if !s.In(u.ID()) {
t.Errorf("Set should contain user.")
}
u2 := message.NewUser(message.SimpleId("bar"))
err = s.Add(set.Itemize(u2.Id(), u2))
u2 := message.NewUser(message.SimpleID("bar"))
err = s.Add(set.Itemize(u2.ID(), u2))
if err != nil {
t.Error(err)
}
err = s.Add(set.Itemize(u2.Id(), u2))
err = s.Add(set.Itemize(u2.ID(), u2))
if err != set.ErrCollision {
t.Error(err)
}

View File

@ -127,7 +127,7 @@ func (h *Host) Connect(term *sshd.Terminal) {
// Should the user be op'd on join?
if h.isOp(term.Conn) {
h.Room.Ops.Add(set.Itemize(member.Id(), member))
h.Room.Ops.Add(set.Itemize(member.ID(), member))
}
ratelimit := rateio.NewSimpleLimiter(3, time.Second*3)
@ -260,7 +260,7 @@ func (h *Host) AutoCompleteFunction(u *message.User) func(line string, pos int,
// GetUser returns a message.User based on a name.
func (h *Host) GetUser(name string) (*message.User, bool) {
m, ok := h.MemberById(name)
m, ok := h.MemberByID(name)
if !ok {
return nil, false
}
@ -490,11 +490,11 @@ func (h *Host) InitCommands(c *chat.Commands) {
until, _ = time.ParseDuration(args[1])
}
member, ok := room.MemberById(args[0])
member, ok := room.MemberByID(args[0])
if !ok {
return errors.New("user not found")
}
room.Ops.Add(set.Itemize(member.Id(), member))
room.Ops.Add(set.Itemize(member.ID(), member))
id := member.Identifier.(*Identity)
h.auth.Op(id.PublicKey(), until)

View File

@ -190,11 +190,11 @@ func TestHostKick(t *testing.T) {
// First client
err := sshd.ConnectShell(addr, "foo", func(r io.Reader, w io.WriteCloser) error {
// Make op
member, _ := host.Room.MemberById("foo")
member, _ := host.Room.MemberByID("foo")
if member == nil {
return errors.New("failed to load MemberById")
return errors.New("failed to load MemberByID")
}
host.Room.Ops.Add(set.Itemize(member.Id(), member))
host.Room.Ops.Add(set.Itemize(member.ID(), member))
// Block until second client is here
connected <- struct{}{}

View File

@ -26,16 +26,16 @@ func NewIdentity(conn sshd.Connection) *Identity {
}
}
func (i Identity) Id() string {
func (i Identity) ID() string {
return i.id
}
func (i *Identity) SetId(id string) {
func (i *Identity) SetID(id string) {
i.id = id
}
func (i *Identity) SetName(name string) {
i.SetId(name)
i.SetID(name)
}
func (i Identity) Name() string {